マンドリルメールサービスを使用してメールを送信しようとしていますが、次のエラーが発生します
Full Response
[
{
"email": "[email protected]",
"status": "rejected",
"_id": "b814c2974594466cba9c904c54dca6c6",
"reject_reason": "invalid-sender"
}
]
上記のエラーを除いて、それについての詳細はありません。 .netを使用して、MandrillSMTP設定で電子メールを送信しています。
送信されている通話/メールを確認すると便利です。このエラーは、拒否理由フィールドに示されているように、無効な送信者が存在することを意味します。これは、無効なメールアドレス、名前からの無効なエンコード、または他のヘッダーの無効なエンコードまたは壊れたエンコードが原因で、Mandrillが「from」ヘッダーを解析できないが、送信している実際のメールが表示されないことが原因である可能性があります。 、問題が何であるかを正確に言うのは難しいです。
おそらく、差出人の電子メールアドレスに完全修飾ドメイン名が含まれていること、および件名がエンコードされている場合は改行のようなものがないことを確認する必要があります(\n
)件名のマルチバイト文字を分割する文字。生のSMTPメッセージで問題を特定できない場合は、トラブルシューティングのサポートが必要な場合は、お気軽に サポートに連絡してください 。
同じ問題が発生しました。私の場合、テンプレートのデフォルトの「FromName」と「Subject」を完成させるのを忘れていました。
私も同じ問題を抱えていました。私の場合、ヘッダーでのエンコードが問題でした。ヘッダーのエンコードをUTF-8に変更しましたが、機能しました。私はC#SMTPを使用していましたが、コードは次のとおりです。
message.HeadersEncoding = Encoding.UTF8;
それがうまくいくことを願っています!
.NET SmtpClientを使用している場合、これはバグが原因である可能性があります: https://social.msdn.Microsoft.com/Forums/vstudio/en-US/4d1c1752-70ba-420a-9510-8fb4aa6da046/subject-encoding-on-smtpclientmailmessage
回避策、それは私たちを助けました:
使用する
message.SubjectEncoding = Encoding.Unicode;
の代わりに
message.SubjectEncoding = Encoding.UTF8;
これは、.Net Framework4.7.2でも実際のものです。
私は最近同様の問題を抱えています。これは、message.from_nameフィールドで特定の文字を使用したことが原因でした。ドキュメントとスタックオーバーフローを検索した後、禁止されている文字のリストが見つからなかったので、これは必ずしもあなたのケースに関係するわけではありませんが、いくつかの許容可能な文字をまとめたこの小さなリストを共有したいと思いました(網羅的ではありません)リスト):
JSでは、禁止されている文字(または、前述のリストにない文字)と一致する正規表現は次のとおりです。
const pattern = /[^a-zA-Z0-9_\-!#$%\^&*+={}?.]/;
これがこれに固執している他の人に役立つことを願っています。
私にとって、それは私のメールが[email protected]
から来ていたからでした。マンドリルは最後の1のために私を拒否しました。 [email protected]
と[email protected]
はどちらも有効であり、受け入れられます。
私の他のテストには空白のFromヘッダーが含まれていたため、それらも拒否されました。ログインしてAPIログを確認するまで、これらのメールがMandrillによって受信されていることに気づきませんでした。