关于使用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
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
原因就在这里:
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.
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