マンドリルはサポートを提供していません。私は彼らにたくさんのチケットを送りましたが、それでも答えはありません。ここの誰かが私を助けてくれることを願っています。
SMTP経由でメールを送信しています。最初は数千のメールを送信できますが、数千後、メールボックスに到達しません。メールが配信されたことを示すマンドリルアクティビティ。配信されず、バックログにメールがありません。 1時間あたり50K程度の制限があります。
1日後に別のアカウントを作成してみましたが、いくらかデポジットも行いましたが、他のアカウントでも同じことが起こります。 SMTPクライアントのエラー、ログのエラー、何もありません。
その他の注意点は、「配信済み」にカーソルを合わせると「SMTPイベントなし」と表示されますが、実際に配信された電子メールには、吹き出しに関するいくつかの統計が表示されます。
UIのMandrill Delivered-statusが実際に送信されたことを意味するのではなく、Mandrillが処理のためにメッセージを受信したことだけを意味します。もちろん、これは非常に混乱します。
メールが実際に送信されたかどうか(つまり、受信メールサーバーに正常に配信されたかどうか)を確認する唯一の方法は、メッセージにsmtp-eventsがあるかどうかを確認することです。 SMTPイベントがGUI/APIで使用可能になるまでに時間がかかる場合があることに注意してください(2分から24時間の遅延が発生しました)。
現在配信が確認されていないすべてのメールを表示するには、検索フィールドで「NOT smtp_events.diag:250」を検索します。
メールサーバー(gmail)が受信するメールに遅延があったことがわかりました。承認され、数時間処理されなかったようです。
調査の結果、理由の1つであるTEST API KEYを使用してメールを送信すると、実際にはメールが受信トレイに送信されないが、Webhookは正常にトリガーされ、ステータスが配信済みと表示されることがわかったMandrill UI。メールの受信ボックスへの実際の配信を確認するには、別のAPI KEYテストアカウント以外を使用してみてください
私は同じ問題に遭遇しました OakHosting_Jamesによって与えられたこの説明 は何が起こっているのかを理解するのに大いに役立ちました:
RBLにあるIPからメッセージが送信されたことがわかります(発生します-わかります)。したがって、受信サーバーはSMTP時にメッセージを拒否しました。
彼らはそれについて2つのことを言うために答えました:
(i)誰もがブラックリストを設定して、正当な理由なしにIPをオンにすることができます。 (ii)一部のメッセージは、マンドリルがバウンスされたことを検出できないような方法でバウンスします。これが、同社のWebサイトが「配信済み」と言った理由です。
それらの問題を見てみましょう:
(i)それは本当ですが、これはUCEPROTECTレベル1でした。これらは作業するのに適したブラックリストではありませんが、Grindの斧を持つ誰かのための裏庭プロジェクトではありません。どの送信ネットワークも100%クリーンな状態を維持することは不可能であるという事実はまだわかります。私は彼らのIPの1つが一時的にリストされたことに不満を感じていません。しかし、正しい心の誰も使用しないであろういくつかの小さなブラックリストがそこにあると言われて、私は不快に感じました。 UCEPROTECTはそれらの1つではなく、クリーンである必要があります。「最高のスパム保護があっても、ブラックリストに登録されることがあります。これはすぐに検出され、他のIPに切り替えられます。」
(ii)マンドリルのシステムでは見落とされる可能性のある事後のバウンスがあると確信しています。しかし、これはSMTP時に拒否されました。送信側サーバーから一度も送信されなかったメッセージに「配信済み」のマークを付けるにはどうすればよいですか?
したがって、RBL IPの問題(i)に対する(ある程度の)解決策は、マンドリルのアカウントの「専用IP $ 29.95 /月」になる可能性があります。ただし、 専用IPはそれ自体で問題になる可能性があり、ほとんどの場合推奨されません を使用します。
あなたのmail.rb
次のことを行う必要があるファイル:
ActionMailer::Base.smtp_settings = {
address: "smtp.mandrillapp.com",
port: 587,
enable_starttls_auto: true,
user_name: "[email protected]",
password: "apipassword",
authentication: "login"
}