2013-12-10 5 views
0

я пытаюсь отправить почту через SMTP от gmailSMTP Mail Server отправка почты не работает

мой PHP код

<?php 
$body    = 'test body'; 
$to = "[email protected]"; 
$from = '[email protected]'; 
$fName = 'first name'; 
$lName = 'last name'; 
$subject = 'my subject'; 
$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->CharSet = 'UTF-8'; 
    // $body    = eregi_replace("[\]",'',$body); 
$mail->Host  = "smtp.gmail.com"; // SMTP server example 
$mail->SMTPDebug = 2;      // enables SMTP debug information (for testing) 
$mail->SMTPAuth = true;     // enable SMTP authentication 
$mail->Port  = 587;     // set the SMTP port for the GMAIL server 
$mail->Username = "[email protected]"; // SMTP account username example 
$mail->Password = "password"; 
$mail->SetFrom($from, $fName.' '.$lName); 
$mail->Subject = $subject; 
$mail->AddAddress($to, "Support Team"); 
$mail->MsgHTML($body); 

if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
exit; 
} 
?> 

его дать мне эту ошибку ::

SMTP -> ERROR: Failed to connect to server: Permission denied (13) 
SMTP Error: Could not connect to SMTP host. Mailer Error: SMTP Error: Could not connect to SMTP host. 

я не знаю, в чем проблема?

+0

try '$ mail-> SMTPSecure = 'tls';' Вы используете правильные учетные данные для gmail? –

+0

добавлено '$ mail-> SMTPSecure = 'tls';' но не работает –

ответ

0

Вы можете использовать этот код он работает для меня

<HTML> 
    <body> 
    MAIL SETTING for Iseries<br> 
    Define a real name of your mail Server<br> 
    <center> 
    SMTP = mail.zend.com </center> 
    <br> 
    Define a real name of your mail Server<br> 
    <center> 
    smtp_port = 25</center> 
    <br> 
    Define an any address you want<br> 
    <center> 
    sendmail_from = [email protected]</center><br> 
    </body> 


    <?php 
    // Using the ini_set() 
    ini_set("SMTP", "mail.zend.com"); 
    ini_set("sendmail_from", "[email protected]"); 
    //ini_set("smtp_port", "25"); 

// The message 
    $message = "The mail message was sent with the following mail setting:\r\nSMTP = mail.zend.com\r\nsmtp_port = 25\r\nsendmail_from = [email protected]"; 

// Send 
$headers = "From: [email protected]"; 

mail('[email protected]', 'My Subject', $message, $headers); 

echo "Check your email now….<BR>";?> 
</HTML> 

Просто измените удостоверении Фактическая ссылка http://kb.zend.com/smtp-mail-the-php-mail-function-for-iseries/#.Uqa9NY1Mhno

0
$subject = "This is subject testing1"; 
$mail = new PHPMailer();  
$mail->IsSMTP(); 
$mail->IsHTML(true); // send as HTML  
$mail->SMTPAuth = true;     // enable SMTP authentication 
$mail->SMTPSecure = "ssl";     // sets the prefix to the servier 
$mail->Host  = "smtp.gmail.com";  // sets GMAIL as the SMTP server 
$mail->Port  = 465;     // set the SMTP port 
$mail->From  = ''; 
$mail->FromName = ""; 
$mail->Subject = $subject; 
$mail->Body  = "this is html body";   //HTML Body 
$emailId=''; 
0

SMTP -> ERROR: Failed to connect to server: Permission denied (13)

Это указывает на то, что ваш PHP скрипт не может открыть связь. Проверьте настройки безопасности этого сервера (SELinux и т. Д.)

0

Работают ли вы в локальном хосте или размещены на каком-либо сервере?

По умолчанию из localhost мы не можем отправлять письма, потому что SMTP недоступен.

+0

Я не работаю в 'localhost', я работаю над веб-сайтом live и веб-сервером live –

+0

Хорошо, проверьте следующие ссылки; вы можете получить какое-то решение; Я думаю, вам нужно выполнить эти команды с сервера. http://gistpages.com/2013/09/14/phpmailer_smtp_error_failed_to_connect_to_server_permission_denied_13_fix http://blog.innovsystems.com/php/smtp-error-failed-connect-server-permission-denied-13 – Satish

Смежные вопросы