2012-04-26 9 views
6

Używam MailAddress do utworzenia e-maila z faksem. Korzystamy z systemu o nazwie SatisFAXtion v 8.6. Aby zapewnić stronę tytułową do faksowania, mogę dodać lokalizację szablonu do adresu mail.TO.MailAddress: Znaleziono niepoprawną literę w nagłówku wiadomości

Format wygląda następująco:

12125551234^template=cp\\[email protected] 

Podczas kompilacji to działa dobrze, ale muszę dwa backslashy więc dodałem dwa bardziej jako znaków ewakuacyjnych.

Kiedy uruchamiam program otrzymuję wyjątek:

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) 

Czy istnieje sposób, aby wstawić backslashy na adres e-mail w obiekcie MailAddress?

Odpowiedz

4

Od Wikipedia:

Ograniczenia dotyczące znaków specjalnych jest to, że muszą one być tylko wykorzystywane gdy zawarte w cudzysłowie, a 3 z nich ( przestrzeń, backslash \ i notowanie znak " (ASCII: 32, 92, 34)) musi również być poprzedzony znakiem ukośnika odwrotnego \ (np. "\ \" ").

Dlatego nie sądzę, że Twój adres e-mail jest prawidłowy, ponieważ ułamkowe ukośniki nie są zawarte między cudzysłowami.

Jeśli mógłbyś zmienić adres na coś takiego jak 12125551234^template="cp\\"[email protected] Myślę, że byłoby dobrze.

+0

Więc to jest problem został rozwiązany, ale po prostu musiałem umieścić pełny adres w cudzysłowie: –

+0

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

3

Wiele lat temu znalazłem obejście tego podobnego problemu. Problem był w parametrze DisplayName w konstruktorze MailAddress.

Może to pomoże też:

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

+0

Uwaga, obejście problemu dotyczy parametru displayName, a nie parametrów adresu. – xpereta

+0

@xpereta: nie musiałaś uwzględniać ** obu ** odpowiedzi. –

+0

Usunąłem spadki i zamiast tego poprawiłem odpowiedzi. Chociaż nie rozwiązują dokładnie problemu z pytaniem, mogą być przydatne dla przyszłych użytkowników. – xpereta

0

Dostałem ten błąd, gdy jeśli ten jest modyfikowany do „sieci” --- wtedy błąd został rozwiązany. (Mój zrozumienia jest - Incase określonej opcji pickupdirectory, nagłówek -encoding UTF-8 (base64) dawał błąd)

Nadzieja pomaga

Powiązane problemy