0

当我的代码从我的 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 是一个包含标准电子邮件地址的字段;该字段是从数据库加载的。

有什么想法或建议吗?谢谢!!

4

1 回答 1

0

最有可能发生的事情是您的一个或多个值ToAddress不是有效的电子邮件地址。我认为这是ToAddress因为您FromAddress是硬编码的并且看起来有效。

在尝试Debug.WriteLine("\"" + lblEmail.Text + "\"")创建ToAddress. (如果值为空,则引号存在。)崩溃后,检查“输出”窗口的“调试”窗格。那里有什么奇怪的吗?任何看起来不像有效地址的东西?

于 2013-02-27T15:00:41.597 回答