21

我正在尝试使用 mandrill 电子邮件服务发送电子邮件,但出现以下错误

    Full Response
[
    {
        "email": "someemail@somedomain.com",
        "status": "rejected",
        "_id": "b814c2974594466cba9c904c54dca6c6",
        "reject_reason": "invalid-sender"
    }
]

除了上述错误之外,没有关于它的更多详细信息。我们正在使用 .net 发送带有 Mandrill SMTP 设置的电子邮件。

4

6 回答 6

15

查看正在发送的电话/电子邮件会很有用。该错误意味着存在无效的发件人,如拒绝原因字段中所示。这可能是因为电子邮件地址无效,名称编码无效,或者其他标头中的编码无效或损坏导致 Mandrill 无法解析“发件人”标头,但看不到您发送的实际电子邮件,很难确定到底是什么问题。

您可能想检查发件人电子邮件地址中是否有完全限定的域名,并且如果主题行已编码,则没有诸如换行符 ( \n) 之类的东西会破坏主题行中的多字节字符。如果您无法确定原始 SMTP 消息中的问题,请随时与支持人员联系以获得进一步的故障排除帮助。

于 2013-12-16T15:42:54.320 回答
14

我遇到了同样的问题,就我而言,我忘记填写模板默认值“From Name”和“Subject”。

于 2016-02-13T22:31:30.023 回答
5

我有同样的问题。在我的情况下,标题中的编码是问题所在。我确实将标头编码更改为 UTF-8 并且它有效。我使用的是 C# SMTP,代码如下。

message.HeadersEncoding = Encoding.UTF8;

希望它有效!

于 2014-08-05T02:48:12.763 回答
0

如果您使用 .NET SmtpClient,可能是因为它的错误:https ://social.msdn.microsoft.com/Forums/vstudio/en-US/4d1c1752-70ba-420a-9510-8fb4aa6da046/subject-encoding -on-smtpclient 邮件消息

解决方法,这对我们有帮助:

利用

message.SubjectEncoding = Encoding.Unicode;

代替

message.SubjectEncoding = Encoding.UTF8;

这在 .Net Framework 4.7.2 中仍然是实际的

于 2020-03-31T11:17:58.843 回答
0

我最近遇到了类似的问题。这是由于我在 message.from_name 字段中使用了某些字符。在搜索文档和堆栈溢出后,我找不到禁止字符的列表,所以虽然这不一定与你的情况有关,但我想我会分享这个我编译的一些可接受字符的小列表(不是详尽无遗的)列表):

  • 阿兹
  • AZ
  • 0-9
  • _, -, !, #, $, %, \, ^, &, *, +, =, {, }, ?, .

在 JS 中,这是一个正则表达式,它将与禁止字符(或者,更确切地说,任何不在上述列表中的字符)匹配:

const pattern = /[^a-zA-Z0-9_\-!#$%\^&*+={}?.]/;

希望这对其他坚持这一点的人有所帮助。

于 2017-07-21T20:00:15.370 回答
0

对我来说,这是因为我的电子邮件来自email@example.net1 Mandrill,因为结尾的 1 拒绝了我。e+mail@example.net并且email@example.neta都是有效的并且将被接受。

我的其他测试只有空白 From 标题,所以它们也被拒绝了。在我登录并检查 API 日志之前,我什至没有意识到 Mandrill 收到了这些电子邮件。

于 2015-10-09T14:31:08.657 回答