引用邮件的 imap 标头
我正在发送一封带有 xheader 的电子邮件。
当电子邮件的收件人重播该电子邮件时,我想解析它,并从我通过重播获得的邮件中获取该 xheader 的内容。
不幸的是,当我解析收到的电子邮件时,我没有看到我的 xheader。 (我打印了整个电子邮件,但 xheader 不存在)
我如何使用 Zend Framework 在 PHP 中做到这一点(我正在使用 Zend_Mail_Storage_Imap)?
代码:
$mail = new Zend_Mail_Storage_Imap(array(
'host' => 'pop.gmail.com',
'user' => '[email protected]',
'password' => 'a',
'ssl' => 'SSL'
));
$count = $mail->countMessages();
$message = $mail->getMessage($count);
print_r($message);
//go through the message
foreach(new RecursiveIteratorIterator($message) as $part){
echo '*****************<br/>';
print_r($part);
echo '<br/>*****************<br/>';
//match parts content type to text/html - the one that maches is the message HTML body
if (preg_match('/.*text\/html.*/', $part->contentType)){
$body = $part->getContent();
}
$headers = $part->getHeaders();
if (isset($headers['X-aHeader'])){
echo $headers['X-aHeader'];
}
谢谢, 鲍里斯。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Pekka 因此处的正确响应而获得积分 - 原始消息中的 X 标头不一定会针对该消息的任何回复而保留。但是,您使用的是 Gmail,因此您还有另一个潜在的选择。
Gmail 允许加号寻址,因此[电子邮件受保护]还将收到 < a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9eebedfbecf0fff3fbb5fbe6eaecffdef9f3fff7f2b0fdf1f3">[电子邮件受保护]。如果您的
X-aHeader
内容是字母数字,您可以将其附加到您的电子邮件地址(例如 [电子邮件受保护])。如果您的标头内容不是字母数字,我建议您在系统上本地缓存您要放入标头中的内容,并提供一个uniqid
作为电子邮件加地址。当您收到回复时,您可以使用该uniqid
查找本地缓存的数据。这是一种常用技术,用于唯一地识别回复电子邮件或可能退回邮件的收件人。
Pekka gets points for the correct response here - X-headers in an original message will not necessarily be retained for any replies to that message. But, you're using Gmail, so you have another potential option.
Gmail allows plus addressing, so [email protected] will also receive mail for [email protected]. If your
X-aHeader
content is alphanumeric, you can append it to your email address (e.g. [email protected]). If your header content isn't alphanumeric, I'd recommend caching what you would put in the header locally on your system, and provide auniqid
as the email plus-address. When you receive a reply, you can use thatuniqid
to look up the data you cached locally.This is a common technique for uniquely identifying recipients who reply to emails, or who perhaps bounce messages.