PHP imap,发送到消息I​​D?

时间:2015-09-02 11:59:47

标签: php email

我正在构建一个可以阅读,回复和发送电子邮件的php应用程序。我使用php imap来检索电子邮件。每封电子邮件的message-id都显示为5981e1f444a81f1fc60549beb91ce060bc795d20@domain.co.uk。我尝试用我的php应用程序回复此特定消息但无法正常工作。我使用test@domain.co.uk作为邮件服务器,我使用php imap检索我的php应用程序的电子邮件。每封电子邮件都有一条消息ID,我如何回复特定消息?我该如何解决?以下示例无效。

/* try to connect */
    $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to email: ' . imap_last_error());

    /* grab emails */
    $emails = imap_search($inbox,'ALL');

    /* if emails are returned, cycle through each... */
    if($emails) {

        /* begin output var */
        $output = '';

        /* put the newest emails on top */
        rsort($emails);

        /* for every email... */
        foreach($emails as $email_number) {

            /* get information specific to this email */
            $overview = imap_fetch_overview($inbox,$email_number,0);
            $message = imap_fetchbody($inbox,$email_number,2);


                $headers = "From: test@plantsandtreesonline.co.uk \r\n";
        $headers .= "Reply-To: ".$overview[0]->message_id."\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
        $subject = "testing";
        $message = "test message2";
        wp_mail( $overview[0]->message_id, $subject, $message, $headers );

        }

        echo $output;
    } 

    /* close the connection */
    imap_close($inbox);

1 个答案:

答案 0 :(得分:2)

对于带有消息ID的标头,我认为您需要“In-Reply-To:”而不是“Reply-To:”。 “回复”将是一个电子邮件地址 - 应将回复发送给谁。