关于使用ASP.NE 1.1发送电子邮件时出现的 未能访问“CDO.Message”对象 的错误的解决方法
在网找了好几个用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
'引用 Imports System.Web.Mail2

3
Dim Mail As New MailMessage4
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
Try15
SmtpMail.Send(Mail)16
Page.RegisterStartupScript("SendOK", "<script>alert('信件已经发送成功,我们会尽快与您联系!');</script>")17
Catch ex As Exception18
Page.RegisterStartupScript("SendErr", "<script>alert('很抱歉,由于下列原因导致能的信件没有发送成功,请过会儿在试:\n\n" & ex.Message.Replace("'", "") & "');location.href='?';</script>")19
End Try原因就在这里:
SmtpMail.SmtpServer = "smtp.tom.com" 经过试验,下面这三句是不能少的,否则就会出现错误
Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "sendMial@tom.com") '发件人邮箱用户名
Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "sendMial123456") '发件人邮箱密码
SmtpMail.SmtpServer = "smtp.tom.com" '发件人使用邮局的 smtp,可以在邮箱的帮助中找到 smtp 和 pop3.
如果目的电子邮件服务器需要验证,只能通过其他方法处理,下面是现成的代码:
https://files.cnblogs.com/zhmvb/email.rar
浙公网安备 33010602011771号