- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 Zend_Mail_Message 类在我的 PHP 应用程序中显示电子邮件,并且能够输出主题、内容、日期甚至发件人的姓名(使用 $message->from),但我不能弄清楚如何获取发送消息的人的电子邮件地址。该文档没有任何帮助,谷歌搜索找到了关于如何使用 Zend 发送消息的一百万个结果,但没有关于获取发送消息的地址的任何结果。
最佳答案
编辑:
<删除>这就是我最终这样做的方式。经过更多的挖掘,我在一个名为“return-path”的字段中找到了发件人的电子邮件。不幸的是,这个字段的名称中有一个破折号(WTF??)所以要访问它,我必须这样做: $return_path = '返回路径'; $message->reply_to = $zendMessage->$return_path;
使用返回路径会导致某些电子邮件出现问题,特别是来自无回复帐户(mail-noreply@gmail.com、member@linkedin.com 等)的邮件。这些地址最终看起来像这样:
m-9xpfkzulthmad8z9lls0s6ehupvordjdcor30geppm12kbvyropj1zs5@bounce.linkedin.com
...这显然不适用于在前端的“发件人”字段中显示。 Apple Mail 和 Gmail 等电子邮件客户端显示 mail-noreply@gmail.com 或 member@linkedin.com,这也是我想要的。
无论如何,经过更多的研究,我发现 Zend Mail Message 对象中的“发件人”字段总是看起来像这样:
"user account name" <user@email.com>
< > 中的部分是我所追求的,但只是做 $from = $zend_message->from 只给了我用户的帐户名(因此我最初的问题)。经过更多的尝试,这就是我最终让它工作的方式:
$from = $zendMessage->from;
$start = strpos($from, '<');
$email = substr($from, $start, -1);
$result = str_replace('<', '', $email);
希望这会避免一些人的挫败感。如果有人知道更简单的方法,请告诉我。
关于php - 如何从 Zend_Mail_Message 获取发件人的电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11800184/
我是一名优秀的程序员,十分优秀!