Я использую PHPmailer 5.4.2 и попробую один из его приведенных примеров. Это дает мне истинный результат, который является "Сообщение отправлено", но адрес электронной почты, в котором я состою в коде, ничего не получает. Вот код.
<html>
<head>
<title>PHPMailer - Mail() basic test</title>
</head>
<body>
<?php
require_once('../class.phpmailer.php');
$mail = new PHPMailer(); // defaults to using php "mail()"
$body = "fhgdshfgjsd";
$mail->SetFrom('[email protected]', 'Verbo Angelo Ludovice');
$mail->AddReplyTo("[email protected]","Verbo Angelo Ludovice");
$address = "[email protected]";
$mail->AddAddress($address, "John Doe");
$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!";
}
?>
</body>
</html>
Это потому, что вы пытаетесь отправить электронную почту с вашего сервера через gmail без какой-либо аутентификации, поэтому yahoo рассматривает ее как поддельное/спам-сообщение. Вам понадобится:
- не используйте **@gmail.com как адрес
- или переслать почту через gmail smtp-сервер (вам нужно будет предоставить учетные данные), вы можете найти все настройки в gmail\settings\pop3, вкладке imap
/var/log/mail.log
.