我正在使用MailAddress创建传真电子邮件。 我们正在使用名为SatisFAXtion v 8.6的系统。 要提供传真封面,我可以在mail.TO地址中添加模板位置。
格式如下:
12125551234^template=cp\\FAXReportCover.rtf@fax.ourcompanymail.com
编译时工作正常,但我需要两个反斜杠,所以我添加了两个反转符号。
当我运行程序时,我得到一个例外:
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)
有没有办法在MailAddress对象的电子邮件地址中插入反斜杠?
答案 0 :(得分:4)
来自Wikipedia:
特殊字符的限制是它们必须只是 使用时,如果包含在引号之间,那么就使用 空格,反斜杠\和引号“(ASCII:32,92,34))也必须 之前是反斜杠\(例如“\\\”“)。
因此,我认为您的电子邮件地址无效,因为引号之间不包含反斜杠。
如果您可以将地址更改为12125551234^template="cp\\"FAXReportCover.rtf@fax.ourcompanymail.com
,我认为可以。
答案 1 :(得分:3)
多年前,我找到了类似问题的解决方法。问题出在MailAddress构造函数的DisplayName参数中。
也许它对你有帮助:
http://netpl.blogspot.com/2008/09/smtpclient-exception-invalid-character.html
答案 2 :(得分:0)
如果将此修改为“网络”,则收到此错误 - 然后错误得到解决。 (我的理解是 - 注明指定的pickupdirectory选项,标题-encoding utf-8(base64)给出了错误)
希望有所帮助