这是我的代码:
$mail = new Mail\Message();
mail->setBody('This is the text of the email.');
$mail->setFrom('Freeaqingme@example.org', 'Sender\'s name');
$mail->addTo('MYEMAIL@gmail.com', 'Name o. recipient');
$mail->setSubject('TestSubject');
$transport = new Mail\Transport\Sendmail();
$x = $transport->send($mail);
var_dump($x); exit();
$ x的结果为null。我没有收到任何电子邮件。为什么?
带mail()函数的代码:
$to = "my_email@gmail.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n";
$x = mail($to,$subject,$txt,$headers);
var_dump($x);
现在var_dump的结果是(bool)true ,但我没有收到任何电子邮件。我也检查垃圾邮件,但它是空的。为什么?我正在使用xampp localhost服务器。
答案 0 :(得分:0)
interface for send()
does not return anything:
/**
* Send a mail message
*
* @param \Zend\Mail\Message $message
* @return
*/
public function send(Mail\Message $message);
如果sendmail发送邮件失败,您可能会遇到异常。至少mail()
函数中的所有错误都是captured and collected in a RuntimeException。
如果您没有收到消息,可能是由于配置错误mail()
。尝试使用mail($to, $subject, $message)
邮寄自己并检查是否到达。如果不是(我猜)这不是ZF2问题,而是php / mail问题。
答案 1 :(得分:0)
可能值得通过命令行设置postfix和bug测试你的邮件客户端。
以下内容在设置本地环境时非常有用:http://traumwind.de/tindertraum/archives/local_mail_osx.html