【发布时间】:2012-04-05 21:48:10
【问题描述】:
我正在尝试在我的 Winforms VB.Net 程序中使用 SmtpClient() 发送邮件
代码如下:
Dim SmtpServer As New SmtpClient()
Dim mail As New MailMessage()
Dim _Attachment As String
If gcloUtilities.GetUser(mHostName, mEMailUser, mEMailPassword, mFromEMail) = False Then
Exit Sub
End If
SmtpServer.Credentials = New Net.NetworkCredential(mEMailUser, mEMailPassword)
SmtpServer.Port = 587
SmtpServer.Host = mHostName
mail = New MailMessage()
mail.From = New MailAddress(mFromEMail)
mail.To.Add(mfrmSendAnEmail.txtTo.Text)
mail.Subject = mfrmSendAnEmail.txtSubject.Text
_Attachment = mDirectory & "\" & gcloGlobals.DocumentName & ".pdf"
Dim oAttch As Attachment = New Attachment(_Attachment)
mail.Attachments.Add(oAttch)
mail.Body = mfrmSendAnEmail.txtBody.Text
SmtpServer.Send(mail)
对于我使用邮件点元系统 dot com 的主机名,用户名和密码是我用来登录我的邮件服务器的用户名和密码。当收件人地址在我的域内时,此工作。例如 bob at-sign metaprosystems.com。当我发送到域外的电子邮件时,它不起作用。我在我的 catch 块中得到了这个异常:
“邮箱名称不允许。服务器响应是:抱歉,该域不在我允许的 rcpthosts 列表中 (#5.7.1)”
我是否包含附件并不重要。 我相信问题出在我的网络托管公司,但到目前为止他们还没有提出解决方案。我需要这样的建议,告诉他们如何解决这个问题。或者,如果我能最终解决它,那就太好了。
【问题讨论】: