アプリのメール配信を確実に行うにはどうすればいいですか?

アプリのメール配信を確実に行うにはどうすればいいですか?

サポートとヘルプ チケットに使用される Rails アプリがあります。

顧客がリクエストを送信すると、確認メールが送信されます。また、リクエストに返信するとメールが送信されます。メールは受信されません。

先週、25% 以上のお客様が返信を受け取れなくなりました。彼らは私たちがチケットに返信していないと思っています (実際は返信しています)。

@yahoo.com アカウントでテストを実行したところ、mail.log ファイルに次の内容が見つかりました:

Jul  9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: host b.mx.mail.yahoo.com[66.196.97.250] said: 451 Message temporarily deferred - [140] (in reply to end of DATA command)
Jul  9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: to=<[email protected]>, relay=d.mx.mail.yahoo.com[68.142.202.247]:25, delay=0.73, delays=0.02/0.02/0.64/0.05, dsn=4.0.$

Yahoo 以外の他のアドレスでも同様の問題が発生しています。

Rails アプリは Ubuntu 上で実行されており、次の方法で送信しています:

ActionMailer::Base.delivery_method = :sendmail

サーバーがオープンリレーではないことを確認しました。

ほとんどの電子メールを確実に届けるために他に何ができるでしょうか?

答え1

このメッセージは、グレーリスト化に関係することが多いです (特に、Yahoo は、ある時点では全員に対してグレーリスト化を行っているようです)。基本的に、メール サーバーは最初のメールを一時的に延期します。正規のメール サーバーはこのメッセージを確認し、一定期間待ってから再試行します。スパムを送信しているサーバーは、大量のメールを送信して忘れるように設定されていることが多く、再試行されることはないため、スパムは破棄されます。

グレーリストを通過できるようにするには、メール サーバーが延期後に再試行するように設定されていることを確認し、妥当な時間枠 (通常は 10 ~ 20 分) を設定します。

答え2

他のメール サーバーで tempfailed が発生することはまったく珍しいことではありません。このようなことは時々発生すると想定してください。

ほとんどの電子メール プロバイダー (免責事項: 私は 1 つのプロバイダーとのみ働いています) は、「評判の悪い」送信者に対しては、より頻繁に一時失敗になると思います。これは、クリーンな (よりクリーンな) メールのリソースを優先するためです。サーバーの IP アドレスの評判が悪くなった場合、そのメッセージは、アプリケーションによって送信されたか、同じ IP アドレスから送信された他の何かによってスパムとして分類されている可能性があります。

メール キューは必ず監視する必要があります。追跡できるように、個々の配信に何らかの監査を設定する必要があります。

配信待ちのメッセージが大量にキューに入っている場合は、受信者のメール サーバーに何らかの障害が発生しているか、受信者が何らかの方法でメールをブラックリストに登録または優先順位を下げていることを示しています。

これらを正確にどのように行うかは、アプリケーションによって異なります。

この特定のケースでは、自分がスパムを送信していない(同じ IP からの他の人もスパムを送信していない)と確信している場合は、Yahoo のサポートに連絡する必要があります。

答え3

ここでは 2 つの問題があるようです:

  1. あなたのメールシステムで現在何が起こっているか
  2. 将来的に問題が再発しないようにするには

1 に関しては、次のチェックを行います。

  1. メールを受信できるようにサーバーを設定します。バウンスを受信できず、ブロードキャストのみのように見えるシステムは、スパムとしてフラグ付けされることがよくあります。
  2. MXレコードを確認し、ブラックリストに載っていないか確認してください。翻訳元
  3. RDNSレコードを確認するにはホームページ
  4. メール サーバーに DomainKeys を追加します。
  5. SPF レコードを追加することをお勧めします。これにより、スパム度スコアが下がり、スパム ホストがあなたのドメインからメールを送信しているふりをするのを防ぐことができます。
  6. メールを送信[メールアドレス]さまざまなスパムチェックをレポートにして返信します。

2 に関しては、透明な GIF または特別にマークされたロゴをメールに含めることをお勧めします。これにより、サーバーに「電話」がかけられます。確かに、これは HTML メールを送信する必要があることを意味します。また、一部の顧客はデフォルトでメールによる画像の取得をブロックしますが、通常の応答率がすぐにわかり、応答率が低下しているかどうかを検出できます。価値の高い顧客がいて、応答を受け取っていない可能性がある場合は、積極的に電話をかけることができます。

答え4

また、メール サーバーが自身を正しく識別していること (mail.yourapp.com など) と、その IP をその名前にリンクする PTR レコードが存在することも確認する必要があります。

さらに、その IP/サーバーがドメインのメールを送信できるようにする SPF レコードを追加できるため、少なくとも SPF:Pass も取得できます。

関連情報