2013-12-16 4 views
17

Ich versuche, E-Mails mit Mandrill E-Mail-Dienst zu senden, aber ich bekomme die folgenden FehlerMandrill „reject_reason“: „ungültiges-sender“

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

Neben dem oben aufgeführten Fehler es keine weiteren Details über sie ist. Wir verwenden .net, um E-Mails mit Mandrill SMTP-Einstellungen zu senden.

+3

müssen Sie zusätzlich zu 'to',' subject' und 'html' ein' from'-Feld angeben.Ich bekam diesen Fehler mit [nodemailer-mandrill-transport] (https://github.com/RebelMail/nodemailer-mandrill-transport) –

Antwort

15

Es wäre nützlich, den Anruf/die E-Mail zu sehen, die gesendet wird. Dieser Fehler bedeutet, dass ein ungültiger Absender vorhanden ist, wie im Feld "Ablehnungsgrund" angegeben. Dies kann an einer ungültigen E-Mail-Adresse liegen, die vom Namen ungültig codiert wurde, oder von ungültigen oder beschädigten Kodierungen in anderen Überschriften, sodass Mandrill den "von" -Kopf nicht analysieren kann, ohne die tatsächlich gesendete E-Mail zu sehen Es ist schwer zu sagen, was das Problem ist.

Wahrscheinlich möchten Sie überprüfen, dass ein vollqualifizierter Domänenname in der Absenderadresse vorhanden ist. Wenn die Betreffzeile codiert ist, gibt es keine neuen Zeilen (\n) Zeichen, die Multibytezeichen im Betreff unterbrechen Linie. Wenn Sie das Problem in der rohen SMTP-Nachricht nicht identifizieren können, wenden Sie sich an get in touch with support für weitere Hilfe bei der Fehlersuche.

+1

Die tatsächliche Antwort löst das Problem nicht. Das Problem ist die .NET-Nachrichtencodierung. So kann Mandrill tatsächlich besser sein, wenn es die Parse-Fehler anzeigen würde. Ich frage mich, warum diese Antwort akzeptiert wird. –

5

Ich hatte das gleiche Problem. In meinem Fall war das Kodieren in den Headern das Problem. Ich habe die Header-Codierung in UTF-8 geändert und es hat funktioniert. Ich benutzte C# SMTP und der Code ist unten.

message.HeadersEncoding = Encoding.UTF8; 

Hoffe, es funktioniert!

+0

Für mich hat das Hinzufügen dieser Codezeile nicht funktioniert. Nach stundenlangem Ausprobieren fand ich heraus, dass ich in meiner Betreffzeile einen Bindestrich hatte. –

0

Für mich war es, weil meine E-Mails kamen von [email protected] Mandrill lehnte mich wegen der 1 am Ende ab. [email protected] und [email protected] sind beide gültig und werden akzeptiert.

Meine anderen Tests hatten nur leere From Header, also wurden sie auch abgelehnt. Ich habe nicht einmal bemerkt, dass diese E-Mails von Mandrill empfangen wurden, bis ich mich anmeldete und die API-Protokolle überprüfte.

6

Für mich war es, weil ich vergessen hatte, die Vorlage Standardwerte "Von Name" und "Betreff" zu vervollständigen.

+0

Hatte genau das gleiche Problem - danke für die Antwort! –

0

Ich hatte kürzlich ein ähnliches Problem. Es war aufgrund meiner Verwendung bestimmter Zeichen im Feld message.from_name. Nachdem ich die Dokumentation und den Stack-Überlauf durchsucht habe, konnte ich keine Liste mit verbotenen Zeichen finden. Obwohl dies nicht unbedingt zu deinem Fall gehört, dachte ich, ich würde diese kleine Liste einiger akzeptabler Zeichen (nicht erschöpfend) zusammentragen Liste):

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

In JS, hier ist ein regulärer Ausdruck, mit verbotenen Zeichen übereinstimmen (oder, besser gesagt, alle Zeichen, die nicht in der oben genannten Liste sind):

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

Hope this für jedermann hilfreich sonst steckte ich darauf.

Verwandte Themen