Отладка PHP Mail с помощью phpmailer и XAMPP для электронной почты Yahoo - PullRequest
0 голосов
/ 07 декабря 2010

Я скачал последнее обновление XAMPP, которое в значительной степени испортило мой старый конфиг.В какой-то момент я смог отправить базовую почту () с PHP, но как только я обновил ее, она остановилась.

Я немного исследовал, и все рекомендовали Zend или PHPMailer.Я попробовал PHPMailer, он вернул мне ошибку, в которой говорится, что ответ не получен.

Перепутался с моим php.ini и увеличил время ожидания сокета с 60 до 120. Это не сработало, поэтому я попытался отправить тестовые письма самому себе.

Failed to connect to mailserver at "localhost" port 25,
verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()

Итак, я проверил php.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25;

;Add X-PHP-Originating-Script: that will 
;include uid of the script followed by the filename

Хорошо, поэтому я подумал: «Я просто буду использовать PHPMailer для включения SMTP и порта:

require_once('../class.phpmailer.php');

$mail             = new PHPMailer();        // defaults to using php "mail()";

$body             = file_get_contents('contents.html');
$body             = eregi_replace("[\]",'',$body);

$mail->IsSMTP();                            // telling the class to use SMTP
$mail->AddReplyTo("noreply@randomcompany.com","Company Name Here");
$mail->Host       = "localhost";           // SMTP server
$mail->SMTPDebug  = 2;                      // enables SMTP debug information (for testing)
$mail->Port       = 25;                     // set the SMTP port for the GMAIL server


$mail->From       = "noreply@randomcompany.com";
$mail->FromName   = "Company Name Here";

$address = "test@yahoo.com";
$mail->AddAddress($address, "Hello to myself for testing!");

$mail->Subject    = "PHPMailer Test Subject via mail(), basic";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

//$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!";
}

mail.add_x_header = Off 

Который сказал:

SMTP -> ERROR: Failed to connect to server: 
A connection attempt failed because the connected 
party did not properly respond after a period of 
time, or established connection failed because 
connected host has failed to respond. (10060)

SMTP Error: Could not connect to SMTP host. 
Mailer Error: SMTP Error: Could not connect to SMTP host.

Меркурий Сказал:

This message is sending now ...

Error! The message was not successfully sent!

Zurück zum Formular

Потратил все это время, и мне интересно, это мой код, php.ini,phpmailer или Yahoo?

1 Ответ

0 голосов
/ 07 декабря 2010

Я думаю, вам не хватает почтового сервера. Или у вас есть локальный почтовый сервер, работающий на порту 25? ;-) Но XAMPP приносит с собой почтовый сервер с именем Mercury - так что ... запустите его и получайте удовольствие; -).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...