簡體   English   中英

帶引號的郵件的imap標頭

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM