2015-01-28 5 views
3

Я застрял здесь почти неделю. Я действительно следовал за шагами в учебниках, но не повезло. Я загрузил этот phpmailer и получил версию 5.4.2. приведенный ниже код является примером этого загруженного phpmailer, но он не работает для меня. Я уже настроил sendmail и php.ini. Я также включил некоторые расширения, такие как php openssl и phpsocket php smtp и apache модуль. Надеюсь, кто-то мне поможет в этой проблеме. Вот мой код ниже:SMTP -> ОШИБКА: Не удалось подключиться к серверу: Не удалось выполнить следующее От адреса:: Вызывается Mail() без подключения Ошибка Mailer

<html> 
<head> 
<title>PHPMailer - SMTP (Gmail) basic test</title> 
</head> 
<body> 

<?php 

error_reporting(E_STRICT); 

date_default_timezone_set('America/Toronto'); 

require_once('../class.phpmailer.php'); 
class.phpmailer.php if not already loaded 

$mail    = new PHPMailer(); 

$body    = "dasdf"; 

$mail->IsSMTP(); // telling the class to use SMTP 
$mail->Host  = "mail.yourdomain.com"; // SMTP server 
$mail->SMTPDebug = 2;      // enables SMTP debug information (for testing) 
             // 1 = errors and messages 
             // 2 = messages only 
$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 for the GMAIL server 
$mail->Username = "[email protected]"; // GMAIL username 
$mail->Password = "ggg";   // GMAIL password 

$mail->SetFrom('[email protected]', 'jj'); 

$mail->AddReplyTo("[email protected]","jj"); 

$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]"; 
$mail->AddAddress($address, "Dave"); 

$mail->AddAttachment("images/phpmailer.gif");  // attachment 
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment 

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

?> 

</body> 
</html> 
+0

Вы '$ mail-> Host' определено дважды. Я не уверен, что это повлияет на что-либо или просто заменит первую запись. Я также попытался бы удалить вложения и посмотреть, отправляет ли он. Кроме этого, я не вижу никаких проблем. – Devon

+1

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

ответ

2

Эта версия PHPMailer очень устарела (последнее обновление февраля 2013 г.); он был заменен https://github.com/PHPMailer/PHPMailer

Прежде всего, вы должны перейти на последнюю версию; Есть хороший шанс, что вы пытаетесь обойти ошибку, которая уже исправлена.

Вы найдете, что использование почти идентично; проверьте пример на странице GitHub для очевидных различий в текущей версии.

Вы должны также включить SMTP отладки путем добавления

$mail->SMTPDebug = 3; 
+1

Пятно-на Кельвине, спасибо. – Synchro

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