【发布时间】:2014-09-13 10:43:24
【问题描述】:
我已经设置了一个脚本,它应该根据查询发送电子邮件。代码是这样的:
$firemail = mysql_query("SELECT `email` from `users` WHERE `reference` = ''$customer' ");
$to = $firemail;
忽略这不是 PDO 的事实,然后我将 $firemail 传递给 smtp,如下所示:
$headers = array (
'From' => $from,
'To' => $firemail,
'Subject' => $subject,
'Reply-To' => 'test@test.com',
'MIME-Version' => "1.0",
'Content-type' => "text/html; charset=iso-8859-1\r\n\r\n");
$smtp = Mail::factory('smtp', array(
'host' => 'smtp.myservice.com',
'port' => '123',
'auth' => true,
'username' => 'user@test.com',
'password' => 'supersecretpassword'
));
我已经测试过 SMTP 可以正常工作,当我手动输入收件人时,它会按设计发送电子邮件。 $firemail 包含的查询是有效的,并返回预期的结果。我已经回显了 $customer var,这会返回预期的结果。
所以假设我的所有代码都是有效的并且可以正常运行。为什么我没有收到电子邮件?
谢谢!
【问题讨论】:
-
你没有得到任何结果......相反,你正在将一个mysql对象存储在你
$firemailvar ;) -
您好,感谢您的快速回复。我快速浏览了列表,error_reporting(-1) 没有返回错误。我正在通过 PHPMailer 发送邮件,并且没有使用 @ 抑制任何错误消息。当我硬编码地址时,地址肯定有效,并且我通过 Mandrill 发送电子邮件(它没有收到消息,表明问题在我这边),所以垃圾邮件拦截不是问题。我添加了一个条件来捕获错误并返回消息已发送。
-
@RobertRozas - 我是个白痴!谢谢你,修好了。需要更多咖啡!
-
没问题@EspressoPowered,我很乐意提供帮助;)
-
@RobertRozas 将其作为答案发布,以便我们为您投票,提问者可以将其标记为已接受的答案。