2016-04-25 13 views
1

Laravel CRMシステムを使用してGmailで返信メールを送信します。Gmail IMAP php mailメールの返信として送信

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'From: '.Auth::user()->f_name.' '.Auth::user()->l_name.'<'.$gmail_address.'>'." \r\n" . 
         'Reply-To: <'.$gmail_address.'>'. "\r\n" . 
         'Subject: '.$subject."\r\n". 
         'To: '.$to."\r\n". 
         'In-Reply-To: <[email protected]>'. "\r\n" . 
         'References: <[email protected]>'. "\r\n" . 
         'X-Mailer: PHP/' . phpversion(); 

imap_mail ($to , $subject ,$body,$headers); 

しかし、それは、新しい電子メールのように、すなわちない返信として送信:

私のコードは以下の通りです。

理想的には、「Re:」を件名に追加し、実際のメールを返信メール本文の末尾に追加するのが理想的です。

どれヘルプ..

+0

元のメールを自分で追加する必要があります。 IMAPはあなたのためにそれをしません。 imap_mailメソッドには魔法はありません。 –

+0

@awonsしかし、それは新しいメール、返信ではなく、私はGmailのスレッドのようにしたいと思います。 –

+1

私は従いません。適切なヘッダーを作成するには、imap_mail_composeを試してください。 「In-Reply-To」と「References」を使用すると、返信であることをGmailに伝えることができますが、元のメッセージを自分で添付する必要があります。 –

答えて

0

あなたIn-Reply-ToReferencesヘッダは、いくつかの魔法の値にハードコードされてください。それはおそらくあなたがしたいことではありません。ここで

は、私は、コードを改善する方法を示します。

  • RFC2047、RFC2231、あなたのために特にRFC 5322のかなり低いレベルのビットを扱うライブラリを使用してください。ユーザーのl_nameにあるASCII文字以外の文字は、準拠していないメッセージを生成する可能性が非常に高いです。電子メールの仕組みを理解するためにRFC5322全体を読んでください。遊びに来るさまざまなエンコーディングについて読んでください。
  • 返信しているメッセージのMessage-Idを追跡し、それに応じて独自のIn-Reply-To & Referencesヘッダーを設定します。
関連する問題