当我的代码从我的Windows 2003服务器执行时,我收到此错误,但是从我的Windows 7开发计算机上,邮件进程每次都能正常运行。项目配置为2.0框架。服务器上是否需要缺少组件?
错误明细。
[FormatException: The specified e-mail address is currently not supported.]
System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset, String& displayName) +1138987
System.Net.Mail.MailAddress.ParseValue(String address) +240
System.Net.Mail.MailAddress..ctor(String address, String displayName, Encoding displayNameEncoding) +85
System.Net.Mail.MailAddress..ctor(String address) +8
BizHelp.WebForm1.btnSendEmail_Click(Object sender, EventArgs e) +117
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
Web.Config详细信息(这是GoDaddy的非标准格式,但我必须在本地网络上运行我的代码,因此我无法使用他们的中继服务器 - 这适用于我的Windows 7盒子)
<mailSettings>
<smtp>
<network host="smtpout.secureserver.net" defaultCredentials="false"
userName="xxxxx@sendtome.us" password="xxxxx" enableSsl="false" port="80"/>
</smtp>
</mailSettings>
VB代码:
Imports System.Net.Mail
Dim mm As New MailMessage(lblEmail.Text, "2manybooks@sentome.us")
mm.Subject = "Welcome to xxxx"
mm.IsBodyHtml = True
mm.Body = lblMail.Text.ToString
Dim smtp As New SmtpClient
smtp.Send(mm)
注意:lblEmail.text是一个包含标准电子邮件地址的字段;该字段是从数据库加载的。
有什么想法或建议吗?谢谢!
答案 0 :(得分:0)
最可能发生的事情是ToAddress
的一个或多个值不是有效的电子邮件地址。我认为这是ToAddress
,因为您的FromAddress
是硬编码的并且看起来有效。
在尝试创建Debug.WriteLine("\"" + lblEmail.Text + "\"")
之前,请尝试添加ToAddress
语句。 (如果值为空,则引号出现。)崩溃后,检查“输出”窗口的“调试”窗格。那里有什么奇怪的吗?任何看起来不像有效地址的东西?