2012-04-08 23 views
1

zendメールコンポーネントを使用してpop3サーバーからメールを読んでいます。送信元のメールアドレスではなく、姓と名義のメールヘッダー「from」

私が欲しいのは、このメールが誰に送信されたかを知ることです。私が$ message->を試してみると、送信者のメールなしで「FirstName LastName」が表示されます。

私はprint_r($ message-> getHeaders())を行い、送信者のメールはこのメールのヘッダーには表示されません。

私は送信者の電子メールが必要であり、常に設定する必要があると思いました。ここに何か間違っている?

電子メールなしの姓名の「from」ヘッダー付きのメールを送信することは可能ですか?

+1

明らかに私はあなたの場合には関係があるのか​​どうかは分かりませんが、 'print_r()'に有効な 'from'ヘッダがあり、そのアドレスが山括弧で囲まれていると、HTMLソースを見るだけで、山括弧と電子メールアドレスは、ブラウザによって(認識されていても)認識されないHTMLタグとして扱われる可能性があるためです。 – SimonMayer

+0

あなたのコメントは答える必要がありますので、私はそれを "受け入れられる"とマークすることができます – waney

答えて

2

角度があるため、有効なfromヘッダーとアドレスは角括弧であるprint_r()、あなただけの、HTMLソースを表示することによって、それを参照してください可能性がある場合角括弧と電子メールアドレスは、ブラウザによって(認識されてはいないが)HTMLタグとして扱われるかもしれない。誰もが将来的にこの問題に遭遇した(とメールアドレスがHTMLソースに表示されない)場合

しかし、それも、送信者がFrom:アドレスせずに電子メールを送信した可能性があることを念頭に置いて価値がありますそれは技術的に無効です。

+0

+1同じことがメッセージIDフィールドについて私に起こりました。私はこの答えに遭遇するまで何時間も費やしました。 – Auxiliary

1

はい、これは完全に可能です。すべての電子メールには通常2つの "FROM"アドレスがあります。時間の99%は、これらは同じ値ですが、異なることがあります。 MAIL FROMコマンドを発行するSMTPセッション中に使用されるMAIL FROMアドレスがあります。次に、電子メールメッセージヘッダーにFROMアドレスがあります(このFROMアドレスはSMTP DATAコマンドで送信されます)。これは、電子メールのなりすましを取得する方法です。

このように(カタツムル物理界で)考えてください。封筒の外側にFROMアドレスを付けることができます(これはMAIL FROMコマンドと同じです)。これは、メッセージを送信する人物であるはずです。エンベロープの内側にある文字の頭で異なるFROM値を持つことができます。これは、電子メールヘッダーに表示されているFROM値です。ここで

がうまくいけば、私は泥と同じくらい明確にすることをしなかったFROMアドレス

From: "Steve James" 
To: "John Doe" <[email protected]> 
Date: Fri, 24 Feb 2012 07:43:40 -0800 
Subject: Here is the progress report 

.... 

せずに、いくつかの生のヘッダの一例です。

- 私のコメントを1として

関連する問題