2012-01-25 7 views
2

私は、ユーザーが友人に電子メールを送信するためのフォームを作成中です。電子メールからPHP電子メールの「from」ヘッダーフィールドのベストプラクティスとして、スパムとしてのマーキングを防止する

  • に電子メール
  • 件名
  • ボディ

理想的には、フィールド"から" E中:フォームは、次のフィールドがありますメールヘッダは、受信者が送信者を認識できるように、ユーザが入力した "From e-mail"アドレスになります。

しかし、ユーザーの "From e-mail"アドレスとしてヘッダーの "From"フィールドを設定すると、SPF検証に失敗し、電子メールがスパムとしてマークされる可能性が高くなると想定します。電子メールの存在の可能性を減らす送信者の「からの電子メール」

  • から来て(受取人に)表示されるように電子メールを許可する

    1. のためのベストプラクティスは何ですかスパムとしてマークされています。迅速なスポットチェックで

    • NYタイムズ「電子メールの記事」機能は、送信者の電子メールアドレスにヘッダーのフィールド「から」を設定し、自分の中で終わりましたYahooの受信トレイ。
    • AddThisヘッダーの「差出人」フィールドを差出人の電子メールアドレスに設定して、Yahooの迷惑メールフォルダにしまった。
    • Deliciousヘッダーの「差出人」フィールドを「Delicious」に設定し、Yahooの受信トレイに設定しました。
  • +6

    メールサーバは、フィールドと実際の送信者(実際には、reeeaaaallyメッセージを送信するサーバ)からの対応をチェックします。 [email protected]からメールを受け取ったにもかかわらず、送信側のサーバーが[email protected]である場合は、フラグを立てます。 – Alfabravo

    +1

    Alfabravoとは何ですか?別の送信者を表示したい場合は、 'reply-to'を使用してください。 –

    +0

    @Pekka:いいえ、' Reply-To: 'はチケットではありません。 '送付者:'はです。 – tripleee

    答えて

    6

    ドメイン名がexample.comであれば、あなたの送信メールのヘッダからフォームから[email protected]または[email protected] REPLY-TOを設定

    のようなものである必要がユーザーがフォームに入力している「送信元」アドレスにヘッダーを追加します。受信者がアドレス「FROM」、あなたは受信者がメールが来る見ているときに、それはので"John Smith <[email protected]>"

    の線に沿って何かを言うだろう、FROMヘッダ内の送信者名を入れることができますを認識させる

    あなたはPHPを使用しています、私はあなたがSwiftmailerを見てみることをお勧めします。これは、あなたのメールの構築とフォーマットのための素晴らしい方法を提供することに加えて、多くの一般的なヘッダーの問題を回避するのに役立ちます。

    公式ではSwiftMailerのウェブサイト:あなたのコードは可能性がありhttp://swiftmailer.org/

    ような単純な:

    $transport = Swift_MailTransport::newInstance(); 
    $mailer = Swift_Mailer::newInstance($transport); 
    
    $message = Swift_Message::newInstance() 
        ->setSubject('This is the subject of your message') 
        ->setFrom(array('[email protected]' => 'John Smith')) 
        ->setReplyTo(array('[email protected]' => 'John Smith')) 
        ->setTo(array('[email protected]')) 
        ->setBody('The body of your email goes here.'); 
    
    $mailer->send($message); 
    
    関連する問題