在网找了好几个用ASP.NE 发送电子邮件的例子,但都有“未能访问“CDO.Message”对象”的错误,今天在CSDN上看到了能发送成功一个列子,拿回来一比较发现了这个问题:
1
'引用 Imports System.Web.Mail
2
3
Dim Mail As New MailMessage
4
Mail.To = "zhmvb@tom.com" '收件人邮件地址
5
Mail.From = "sendMial@tom.com" '发件人邮件地址
6
Mail.BodyFormat = MailFormat.Html '
7
Mail.Subject = "加盟合作." '邮件主题
8
Mail.Body = "加盟合作内容
.." '邮件内容
9
10
Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
11
Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "sendMial@tom.com") '发件人邮箱用户名
12
Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "sendMial123456") '发件人邮箱密码
13
SmtpMail.SmtpServer = "smtp.tom.com" '发件人使用邮局的 smtp,可以在邮箱的帮助中找到 smtp 和 pop3.
14
Try
15
SmtpMail.Send(Mail)
16
Page.RegisterStartupScript("SendOK", "<script>alert('信件已经发送成功,我们会尽快与您联系!');</script>")
17
Catch ex As Exception
18
Page.RegisterStartupScript("SendErr", "<script>alert('很抱歉,由于下列原因导致能的信件没有发送成功,请过会儿在试:\n\n" & ex.Message.Replace("'", "") & "');location.href='?';</script>")
19
End Try
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
原因就在这里:
经过试验,下面这三句是不能少的,否则就会出现错误
如果目的电子邮件服务器需要验证,只能通过其他方法处理,下面是现成的代码:
https://files.cnblogs.com/zhmvb/email.rar