Mandrill“reject_reason”:“invalid-sender”

时间:2013-12-16 06:12:13

标签: email status mandrill

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

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

除上述错误外,没有更多细节。我们使用.net发送带有Mandrill SMTP设置的电子邮件。

6 个答案:

答案 0 :(得分:15)

查看正在发送的电话/电子邮件会很有用。该错误表示发件人无效,如拒绝原因字段中所示。这可能是因为无效的电子邮件地址,从名称无效编码,或其他标头中的无效或损坏的编码使得Mandrill无法解析“从”标题,但没有看到您发送的实际电子邮件,很难确切地说出问题所在。

您可能想要检查来自电子邮件地址的是否存在完全限定的域名,并且如果主题行已编码,则不会出现新行(\n)字符等多行字符在主题行。如果您无法在原始SMTP邮件中识别问题,请随时get in touch with support获取进一步的疑难解答帮助。

答案 1 :(得分:8)

对我来说,这是因为我忘了完成模板默认“来自姓名”和“主题”。

答案 2 :(得分:5)

我遇到了同样的问题。在我的情况下,头文件编码是问题。我确实将标题编码更改为UTF-8,但它确实有效。我使用的是C#SMTP,代码如下。

message.HeadersEncoding = Encoding.UTF8;

希望它有效!

答案 3 :(得分:0)

对我而言,这是因为我的电子邮件来自email@example.net1 因为最后的1,Mandrill拒绝了我。 e+mail@example.netemail@example.neta都有效且会被接受。

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

答案 4 :(得分:0)

我最近遇到过类似的问题。这是由于我在message.from_name字段中使用了某些字符。在搜索完文档和堆栈溢出后,我无法找到禁用字符列表,所以尽管这并不一定与您的案例相关,但我想我会分享这个我编写的一些小列表可接受的字符(不是详尽的清单):

  • A-Z
  • A-Z
  • 0-9
  • _, - ,!,#,$,%,\,^,&,*,+,=,{,},?,。

在JS中,这里有一个与禁止字符匹配的RegExp(或者更确切地说,是上述列表中没有的任何字符):

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

希望这对任何坚持这一点的人都有帮助。

答案 5 :(得分:0)

如果您使用.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 Framework 4.7.2中仍然是实际的