Zend_Mail 和 Mailtrap:错误的发件人地址

Posted

技术标签:

【中文标题】Zend_Mail 和 Mailtrap:错误的发件人地址【英文标题】:Zend_Mail and Mailtrap : bad sender address 【发布时间】:2020-06-05 20:20:02 【问题描述】:

我正在以这种方式向mailtrap发送电子邮件

$mail = new Zend_Mail();
$mail->setFrom("senderaddress@yahoo.it", 'Temporary sender name');

我已经在很多项目中使用邮件陷阱,所以我知道我可以使用这些电子邮件地址和名称作为“发件人”发送电子邮件

什么不起作用

问题是$mail->send() 抛出异常

5.1.7 Bad sender address syntax

小调试

所以我调试了 Zend 代码。我现在确定它是从 as 发送的

Temporary sender name <senderaddress@yahoo.it>

我也尝试避免使用文字名称,所以只使用

 $mail->setFrom("senderaddress@yahoo.it");

标头仅使用

 <senderaddress@yahoo.it>

但没有任何改变

我不明白的地方

我无法理解这个非常古老的 Zend 项目是否根本没有发送消息,或者 Mailtrap 是否拒绝。

问题

这个发件人地址有什么问题? 这是来自 Zend_Mail 还是来自 Mailtrap 的错误? 显然,如何解决?

【问题讨论】:

【参考方案1】:

你可以试试这个方法:

Zend_Mail::setDefaultFrom('senderaddress@yahoo.it', 'Temporary sender name');
$mail = new Zend_Mail();
$mail->setBodyText('...Your message here...');
$mail->send($transport);

【讨论】:

以上是关于Zend_Mail 和 Mailtrap:错误的发件人地址的主要内容,如果未能解决你的问题,请参考以下文章

Zend_Mail generateMessage() 导致致命错误:在非对象上调用成员函数 getContent()

使用 Zend_Mail 时添加 PDF 附件

将 Zend 框架最小化为 Zend_Mail? [复制]

text Mailtrap配置

php PHPUnit的Mailtrap测试特性

python 集成mailtrap.io - 普通python