初学者关于System.Web.Mail.SmtpMail.SmtpServer的疑问
我学ASP。NET才两天,因此问的都是些很弱智的问题...
本人照着书上的例子做一个发送邮件的Web应用程序,书上的代码如下:
Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
Try
System.Web.Mail.SmtpMail.SmtpServer = "localhost"
System.Web.Mail.SmtpMail.Send(txbFrom.Text, txbTo.Text, txbSubject.Text, txbBody.Text)
lblMessage.Text = "邮件发送成功!"
Catch ex As Exception
lblMessage.Text = "邮件发送出现问题:" & ex.ToString
End Try
End Sub
书上默认的设置是"localhost",我照搬了,但是不行。出错的提示内容是这样的:
邮件发送出现问题:System.Web.HttpException: 未能访问“CDO.Message”对象。 ---> System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Runtime.InteropServices.COMException (0x8004020F): 服务器拒绝了一个或多个收件人地址。服务器响应为: 550 5.7.1 Unable to relay for niu_dong@msn.com --- 内部异常堆栈跟踪的结尾 --- at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters) at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args) at System.Web.Mail.LateBoundAccessHelper.CallMethod(Type type, Object obj, String methodName, Object[] args) at System.Web.Mail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args) --- 内部异常堆栈跟踪的结尾 --- at System.Web.Mail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args) at System.Web.Mail.CdoSysHelper.Send(MailMessage message) at System.Web.Mail.CdoSysHelper.Send(String from, String to, String subject, String messageText) at System.Web.Mail.SmtpMail.Send(String from, String to, String subject, String messageText) at 发送邮件.WebForm1.btnSend_Click(Object sender, EventArgs e) in d:\inetpub\wwwroot\发送邮件\WebForm1.aspx.vb:line 40
看来应该根据实际情况改变这个属性。但是我不知道在IIS中怎么查看我实际的SMTP服务器地址,请高手指点!