SmtpException: Der Client oder Server ist nur für E-Mail-Adressen mit ASCII-Local-Parts konfiguriert

8

Die Methode SmtpClient.Send () löst diese Ausnahme aus, wenn ich versuche, ein E-Mail an eine Adresse mit einem hervorgehobenen Zeichen (é):

  

System.Net.Mail.SmtpException: Der Client oder Server ist nur konfiguriert   für E-Mail-Adressen mit ASCII-Local-Parts: lé[email protected].
    bei System.Net.Mail.MailAddress.GetAddress (Boolean allowUnicode)
    bei System.Net.Mail.SmtpClient.ValidateUnicodeRequirement (MailMessage ...)
    bei System.Net.Mail.SmtpClient.Send (MailMessage-Nachricht)

Die Formulierung der Botschaft bringt mich dazu, dass es eine Einstellung geben könnte, die ich aktivieren kann, um diese Arbeit zu machen, obwohl ich nichts zu diesem Thema gefunden habe.

Ich habe mehrere SMTP-Server ausprobiert, einschließlich Google Mail. Hier sind die relevanten Bits für eine Repro:

Code

%Vor%

app.config

%Vor%     
Xavier Poinas 06.11.2012, 22:56
quelle

2 Antworten

11

Wenn die Eigenschaft DeliveryFormat Ihrer SmtpClient-Instanz lautet Legen Sie SmtpDeliveryFormat.SevenBit (die Standardeinstellung) fest, die Sie dann festlegen müssen Stellen Sie sicher, dass Ihr SMTP-Gateway mit SMTPUTF8 antwortet, wenn ELHO von .NET gesendet wird, während er versucht, die E-Mail zu senden. SmtpClient verwendet dies, um herauszufinden, ob das Gateway UTF8 unterstützen kann.

Wenn das DeliveryFormat SmtpDeliveryFormat.International ist, können Sie unabhängig davon senden.

    
Andrew 17.04.2013 14:24
quelle
1

Späte Antwort, aber ich habe das gelöst, indem ich eine Kodierung wie folgt spezifiziert habe:

%Vor%

In meinem Fall hat der Server den Fehler verursacht.

    
robasta 09.03.2016 18:14
quelle

Tags und Links