我已经使用 SwiftMailer 很长时间了,事实上,我对电子邮件所做的一切都使用 Swiftmailer ( http://swiftmailer.org/ ) 但是这次我抓不住了。我做的一切都和以前一样,但由于某种原因,我现在收到错误,没有电子邮件。
这是代码,已删除域和密码:
require_once(ROOT."/inc/php/swiftmail/swift_required.php");
//Set up the swiftmail class to internal SMTP server.
$transport = Swift_SmtpTransport::newInstance('localhost', 25)->setUsername('no-reply@*******.com')->setPassword('********');
$mailer = Swift_Mailer::newInstance($transport);
然后,在我得到字符串后发送电子邮件$htmlMail
:
$swiftEmailMessage = Swift_Message::newInstance("Booking")
->setFrom(array('no-reply@*******.com' => 'Mailer'))
->setTo($emailTo)
->setBody($htmlMail,'text/html');
$mailResult = $mailer->send($swiftEmailMessage,$failures);
if ($failures)
{
echo "<b>Failures:</b>";
print_r($failures);
} else {
echo "Sent Message to $emailTo<br><br><pre>";
var_dump($mailResult);
echo "</pre>";
}
输出是肯定的,没有任何错误消息:
Sent Message to ****@yahoo.com
int(1)
但是,无论我尝试过什么电子邮件地址,它都不起作用。我什至将我的 swiftmail 升级到了最新的 5.0.1。我没有错误。如果我将 $transport 变量的实例更改为 IP,则会出现错误。我也尝试将其更改为 smtp.domain.com,但这没有什么区别。我已经在服务器的控制面板中设置了电子邮件地址。no-reply@domain.com 确实存在。而且我已经复制并粘贴了密码,所以我没有错误的密码。
有什么问题?为什么我根本没有收到任何电子邮件?
编辑 好吧,我现在收到一封电子邮件。据我所知,除了 24 小时后,什么都没有改变。但是我可以通过雅虎收到我的电子邮件,但没有别的。这是为什么!!!
已修复 即使它正在发送给 YAHOO,我也阅读了此页面:http ://www.devnetwork.net/viewtopic.php?f=52&t=81374
它建议使用 SMTP 服务器代替许多来自“本地主机”的服务器黑名单邮件。因此,我将其更改为该域的正确 SMTP 邮件服务器,并且可以正常工作!!万岁!