[英]imap headers of a quoted mail
我正在發送帶有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的郵件。 如果您的X-aHeader
內容是字母數字,則可以將其附加到您的電子郵件地址(例如a+headerdata@gmail.com)。 如果你的頭內容是不是字母數字,我建議你緩存會放什么在頭在您的系統,並提供uniqid
作為郵件加地址。 收到答復后,您可以使用該uniqid
查找本地緩存的數據。
這是一種用於唯一標識回復電子郵件或退回郵件的收件人的常用技術。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.