2013-12-16 41 views
17

我試圖用發送電子郵件山魈電子郵件服務,但我得到以下錯誤山魈「reject_reason」:「無效的發件人」

Full Response 
[ 
    { 
     "email": "[email protected]", 
     "status": "rejected", 
     "_id": "b814c2974594466cba9c904c54dca6c6", 
     "reject_reason": "invalid-sender" 
    } 
] 

除了上面的錯誤是關於它沒有更多的細節。我們使用.net發送帶有Mandrill SMTP設置的電子郵件。

+3

除了'''','subject'和'html'之外,您還需要提供'from'字段。我得到這個錯誤[nodemailer-mandrill-transport](https://github.com/RebelMail/nodemailer-mandrill-transport) –

回答

15

看到正在發送的電話/電子郵件會很有用。該錯誤意味着存在無效的發件人,如拒絕原因字段中所示。這可能是因爲無效的電子郵件地址,從名稱無效編碼,或其他標題中的編碼無效或損壞,使得Mandrill無法解析「發件人」標題,但沒有看到您發送的實際電子郵件,很難確切地說出問題所在。

您可能想要檢查從發件人電子郵件地址是否存在完全限定的域名,並且如果主題行已編碼,則不會有像在主題中打破多字節字符的換行符(\n)字符線。如果您無法識別原始SMTP郵件中的問題,請隨時撥打get in touch with support以獲得進一步的故障排除幫助。

+1

實際的答案並不能解決問題。問題是.NET消息編碼。所以,如果Mandrill指出解析錯誤,它實際上可以做得更好。我想知道爲什麼這個答案被接受。 –

5

我有同樣的問題。在我的情況下,在標題中編碼是問題。我確實將標題編碼更改爲UTF-8,並且工作正常。我使用的是C#SMTP,代碼如下。

message.HeadersEncoding = Encoding.UTF8; 

希望它的作品!

+0

對我而言,添加這行代碼不起作用。經過數小時的反覆試驗,我發現我的主題欄中有一個連字符。 –

0

對我來說,這是因爲我的郵件來自[email protected] 曼德里爾拒絕了我,因爲最後1。 [email protected][email protected]都是有效的並且會被接受。

我的其他測試只是空白從標題,所以他們也被拒絕。直到我登錄並檢查API日誌之前,我甚至沒有意識到Mandrill正在收到這些電子郵件。

6

對我而言,這是因爲我忘記了完成模板默認設置「從名稱」和「主題」。

+0

有完全相同的問題 - 謝謝你的答案! –

0

我最近有類似的問題。這是由於我使用了message.from_name字段中的某些字符。在搜索了文檔和堆棧溢出之後,我找不到禁止使用的字符列表,所以雖然這不一定與您的情況有關,但我想我會分享我編寫的一些可接受字符的小列表(不是詳盡的列表):

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

在JS,這裏有一個正則表達式,它可以匹配禁止的字符(或者,更確切地說,是不是在上述列表中的任何字符):

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

希望這是任何人都有益其他人堅持這一點。