星期六

关于使用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

原因就在这里:
 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

posted on 2006-02-28 15:23  星期六  阅读(1098)  评论(2编辑  收藏  举报