2015-03-21 3 views
1
date_default_timezone_set('Asia/Dubai'); 
include("classes/class.phpmailer.php"); 

$mail = new PHPMailer(); 
$body = "this is <strong>testing</strong> mail ". date('Y-m-d H:i:s'); 

$mail->IsSMTP(); // telling the class to use SMTP 
$mail->SMTPDebug = 1; 


$mail->SMTPAuth = true; 
$mail->SMTPSecure = "ssl";    
$mail->Host  = "smtp.gmail.com";  
$mail->Port  = 465;    
$mail->Username = '[email protected]'; 
$mail->Password = '*******'; 

$mail->SetFrom('[email protected]', 'First Last'); 
$mail->AddReplyTo('[email protected]','First Last'); 
$mail->Subject = "PHPMailer Test Subject via smtp (Gmail), basic"; 
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 
$mail->MsgHTML($body); 

$address = "[email protected]"; // add your address here 
$mail->AddAddress($address, "Gmail Test"); 

if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 

У меня есть сценарий, как this.Its работает отлично с локальным, но когда я двигаюсь к окнам или серверам Linux это не work.I хотят работать на обоих окнах и Linux servers.Что мне делать?PHPMailer работает нормально в локальном Но не в сервере

Ошибка: SMTP -> ОШИБКА: Не удалось подключиться к серверу: Время ожидания подключения (110) Ошибка SMTP: не удалось подключиться к узлу SMTP. Ошибка Mailer: ошибка SMTP: не удалось подключиться к узлу SMTP.

+0

Вы используете старую версию PHPMailer и на основе кода на старом примере. [Получить последнюю версию] (https://github.com/PHPMailer/PHPMailer) и начать с [хорошего примера] (https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps) , Существует также много дубликатов этого вопроса. Здесь нет великой тайны: когда он говорит, что время ожидания соединения, это потому, что связь истекала. Возможно, вам следует [прочитать руководство по устранению неполадок] (https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). – Synchro

+0

Возможный дубликат [Php mailer google smtp, работающий на локальном хосте, не работающем на реальном сайте] (http://stackoverflow.com/questions/17144469/php-mailer-google-smtp-working-on-localhost-not-working-on -live-site) – Synchro

+0

Дубликат, который я обозначил, использует * точно * тот же код, что и вы, откуда вы его взяли, поэтому я могу попытаться остановить людей, использующих его в будущем? – Synchro

ответ

0

попробовать использовать это:

require_once ('class.phpmailer.php'); // Add the path as appropriate 
$Mail = new PHPMailer(); 
$Mail->IsSMTP(); // Use SMTP 
$Mail->Host  = "smtp.gmail.com"; // Sets SMTP server 
$Mail->SMTPDebug = 2; // 2 to enable SMTP debug information 
$Mail->SMTPAuth = TRUE; // enable SMTP authentication 
$Mail->SMTPSecure = "tls"; //Secure conection 
$Mail->Port  = 587; // set the SMTP port 
$Mail->Username = '[email protected]'; // SMTP account username 
$Mail->Password = 'MyGmailPassword'; // SMTP account password 
$Mail->Priority = 1; // Highest priority - Email priority (1 = High, 3 = Normal, 5 = low) 
$Mail->CharSet  = 'UTF-8'; 
$Mail->Encoding = '8bit'; 
$Mail->Subject  = 'Test Email Using Gmail'; 
$Mail->ContentType = 'text/html; charset=utf-8\r\n'; 
$Mail->From  = '[email protected]'; 
$Mail->FromName = 'GMail Test'; 
$Mail->WordWrap = 900; // RFC 2822 Compliant for Max 998 characters per line 

$Mail->AddAddress($ToEmail); // To: 
$Mail->isHTML(TRUE); 
$Mail->Body = $MessageHTML; 
$Mail->AltBody = $MessageTEXT; 
$Mail->Send(); 
$Mail->SmtpClose(); 

if ($Mail->IsError()) { 
    echo "ERROR<br /><br />"; 
} 
else { 
    echo "OK<br /><br />"; 
    } 
+0

Хотя это немного лучше исходного кода, он не будет работать с последним PHPMailer. Пожалуйста, не предлагайте устаревший код. – Synchro

+0

спасибо всем ... я понимаю это. – Jasir

+0

Что вы выяснили? можете ли вы поделиться исправлением? – TESTasy

-3

Какую версию PHPMailer вы используете? если вы используете старую версию, попробуйте с

$mail->Port = 587;  

Попробуйте обновить версию PHPMailer, которая решит надежду !!!

+0

Настройки OP будут работать, но ваше предложение не будет, если вы также не установите '$ mail-> SMTPSecure = 'tls';' – Synchro

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