kandy

  :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

Asp.Net 2.0 Beta2 中发送电子邮件的简单测试

最近正在学习Net 2.0 Beta2 ,发现发送电子邮件的方法与1.1中不同,今天自己试着做个测试看看,结果没有成功,于是在网上查找了一篇文章参考了一下,发现基本上是一模一样的,无非就是语言不同,但是就是有错误,经过试探的学习,发现加上 UseDefaultCredentials 属性就可以了。

以下是我的asp.net vb code:

 1Imports System.Net.Mail
 2
 3Partial Class _Default
 4    Inherits System.Web.UI.Page
 5
 6    Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
 7        Try
 8            Dim message As Net.Mail.MailMessage = New Net.Mail.MailMessage("kandy@263.net""kandy@263.net")
 9            Dim smtp As Net.Mail.SmtpClient = New Net.Mail.SmtpClient("smtp.263.net")
10            Dim nc As Net.NetworkCredential = New Net.NetworkCredential("MyUserName""MyPassword")
11
12            message.Subject = "hello subject" & Date.Now.ToString
13            message.Body = "hello body"
14            smtp.Credentials = nc
15            smtp.UseDefaultCredentials = False
16            smtp.Send(message)
17        Catch ex As Exception
18            Response.Write(ex.ToString)
19        End Try
20
21    End Sub

22End Class


        有一个奇怪的现象,以上代码我测试可以成功的发送邮件,但是当我换用其他信箱测试就出现如下错误:

System.Net.Mail.SmtpException: 不允许使用邮箱名称。 服务器响应为: You are not authorized to send mail as >, authentication is required 在 System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response) 在 System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from) 在 System.Net.Mail.SmtpTransport.SendMail(MailAddress from, MailAddressCollection recipients, SmtpFailedRecipientException& exception) 在 System.Net.Mail.SmtpClient.Send(MailMessage message) 在 _Default.Page_Load(Object sender, EventArgs e) 位置 C:\WRR\Default.aspx.vb:行号 16

请高手指教。
posted on 2005-06-23 21:05  陈平  阅读(2071)  评论(2)    收藏  举报