我一直在使用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服务器代替来自“Localhost”的许多服务器黑名单邮件。所以我把它更改为这个域的正确的SMTP邮件服务器,它的工作原理!万岁!