2012-04-26 11 views
6

Ich verwende MailAddress, um eine Fax-E-Mail zu erstellen. Wir verwenden ein System namens SatisFAXtion v 8.6. Um ein Deckblatt für das Faxen bereitzustellen, kann ich der Mail.TO-Adresse einen Vorlagenort hinzufügen.MailAddress: Im Mail-Header wurde ein ungültiges Zeichen gefunden

Das Format sieht wie folgt aus:

12125551234^template=cp\\[email protected] 

Wenn es funktioniert gut kompilieren, aber ich brauche zwei Schrägstriche so dass ich zwei als Escape-Zeichen mehr hinzugefügt.

Wenn ich das Programm laufen erhalte ich eine Ausnahme:

Message: An invalid character was found in the mail header: 
StackTrace: at System.Net.Mail.MailAddressParser.ParseLocalPart(String data, Int32& index, Boolean expectAngleBracket, Boolean expectMultipleAddresses) 
    at System.Net.Mail.MailAddressParser.ParseAddress(String data, Boolean expectMultipleAddresses, Int32& index) 
    at System.Net.Mail.MailAddressParser.ParseMultipleAddresses(String data) 
    at System.Net.Mail.MailAddressCollection.ParseValue(String addresses) 
    at System.Net.Mail.MailAddressCollection.Add(String addresses) 
    at System.Net.Mail.Message..ctor(String from, String to) 
    at System.Net.Mail.MailMessage..ctor(String from, String to) 

Gibt es eine Möglichkeit Schrägstrich in einer E-Mail-Adresse in Mailaddress-Objekt einfügen?

Antwort

4

Von Wikipedia:

Die Einschränkungen für Sonderzeichen sind, dass sie nur wenn zwischen Anführungszeichen, und dass drei von ihnen (Die Raum, Schrägstrich \ und Anführungszeichen "enthalten ist, verwendet werden müssen (ASCII: 32, 92, 34)) muss auch ein Backslash \ vorangestellt sein (zB "\\" ").

Daher glaube ich nicht, dass Ihre E-Mail-Adresse gültig ist, da die Backslashes nicht in Anführungszeichen enthalten sind.

Wenn Sie die Adresse in etwas wie 12125551234^template="cp\\"[email protected] ändern könnte, denke ich, es wäre in Ordnung.

+0

hilft also das Problem behoben ist, hatte aber nur die vollständige Adresse zu setzen in Anführungszeichen: –

+0

'" \ "12125551234^template = cp \\\\ FAXReportCover.rtf \" "+" @ fax.ourcompanymail.com "' –

3

Vor Jahren fand ich einen Workaround zu einem ähnlichen Problem. Das Problem trat im Konstruktor von MailAddress im Parameter DisplayName auf.

Vielleicht wird es auch Ihnen helfen:

http://netpl.blogspot.com/2008/09/smtpclient-exception-invalid-character.html

+0

Vorsicht, Ihr Workaround ist für den Parameter displayName, nicht für die Parameter der Adresse. – xpereta

+0

@xpereta: Sie mussten ** beide ** Antworten nicht ablehnen. –

+0

Ich habe die Downvotes entfernt und stattdessen die Antworten verbessert. Obwohl sie das genaue Problem der Frage nicht behandeln, können sie zukünftigen Benutzern nützlich sein. – xpereta

0

ich diesen Fehler erhalten, wenn, wenn diese geändert auf „Netzwerk“ --- dann wurde Fehler behoben. (Mein Verständnis ist - Incase spezifizierter Pickup Option, wird der Header -encoding utf-8 (base64) gab Fehler)

Hoffe, dass es

Verwandte Themen