如何解决带引号的邮件的imap标头
| 我正在发送带有一些xheader的电子邮件。 当电子邮件的收件人重播到该电子邮件时,我想解析它,并从我通过重播获得的邮件中获取该xheader的内容。 不幸的是,当我解析邮件时,我没有看到我的xheader。 (我打印了整个电子邮件,但xheader不存在) 我如何在使用Zend Framework的PHP中做到这一点(我正在使用Zend_Mail_Storage_Imap)? 码: $mail = new Zend_Mail_Storage_Imap(array(
\'host\' => \'pop.gmail.com\',\'user\' => \'a@gmail.com\',\'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\'];
}
谢谢,
鲍里斯
解决方法
Pekka在此处获得正确响应的分数-原始邮件中的X-header对于该邮件的任何回复都不一定会保留。但是,您正在使用Gmail,因此还有另一种可能的选择。
Gmail允许加上地址,因此username@gmail.com也将收到用户名+extra@gmail.com的邮件。如果您的“ 1”内容是字母数字内容,则可以将其附加到您的电子邮件地址(例如a+headerdata@gmail.com)。如果您的标头内容不是字母数字,我建议您将要放在系统本地标头中的内容缓存起来,并提供一个“ 2”作为电子邮件的加地址。收到答复时,可以使用ѭ2来查找本地缓存的数据。
这是一种用于唯一标识回复电子邮件或退回邮件的收件人的常用技术。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。