• 全部
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

vb.net编写邮件发送程序的问题请教!

xmjcwo 2003-10-27 03:25:37
最近编写一个邮件发送程序,点发送时出下以下错误:未能访问"CDO.Message"对象
主要代码:
Public Class FrmSendMail
Inherits System.Windows.Forms.Form
Dim message As New MailMessage()
'定义一个新的邮件消息
Dim sendTo As String
'定义存取发送目的地址
Dim sendFrom As String
'定义存取发送原址
Dim Subject As String
'定义邮件标题
Dim Attachs As MailAttachment
'定义邮件附件,注意,在这里一次只能添加一个附件
Dim proity As MailPriority
'定义邮件发送优先级别
。。。。。。。。。。。。。。。。。。
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Try
Me.ComboBox1.SelectedIndex = 0
sendto = Me.TextBox1.Text
sendfrom = Me.TextBox2.Text
If sendto = "" Then
MessageBox.Show("没有邮件目的地址,请重新输入," & _
"并注意格式的正确性。", "错误", _
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
'获取并判断目的地址是否为空
message.To = sendto
message.From = sendfrom
'设置邮件的发送目的地址和原址
If Me.RadioButton1.Checked = True Then
message.BodyFormat = MailFormat.Text
End If
If Me.RadioButton2.Checked = True Then
message.BodyFormat = MailFormat.Text
End If
'选择邮件发送的格式
message.BodyEncoding = System.Text.Encoding.UTF8
'选择邮件发送的文本编码
subject = Me.TextBox3.Text
Dim result As DialogResult
If subject = "" Then
result = MessageBox.Show("该封邮件没有添加标题,不要标题吗?", _
"提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)
End If
'判断该邮件是否具有标题
If result = DialogResult.No Then Exit Sub
'如果选择要添加标题,则退出过程等待添加标题
message.Subject = subject
'设置邮件发送标题
message.Body = Me.RichTextBox1.Text
'获取邮件发送的内容
If Me.TextBox4.Text = "" Then
Else
attachs = New MailAttachment(Me.TextBox4.Text)
message.Attachments.Add(attachs)
'判断是否具有附件,如果有则连带附件发送
End If
If Me.TextBox5.Text = "" Then
Else
message.Cc = Me.TextBox5.Text
End If
'判断是否有抄送地址
SmtpMail.SmtpServer = "218.*.**.**"
Try
SmtpMail.Send(message)
Catch
MessageBox.Show(Err.Description, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
'发送邮件
Catch
MessageBox.Show("邮件没有发送成功!原因是:" & Err.Description, _
"错误", MessageBoxButtons.OK, MessageBoxIcon.Error)
'获取可能发生意外的错误并通知用户
Select Case Me.ComboBox1.SelectedIndex
Case 0
proity = MailPriority.Normal
Case 1
proity = MailPriority.High
Case 2
proity = MailPriority.Low
End Select
message.Priority = proity
'选择并设置邮件发送的优先级
MessageBox.Show("邮件已经成功发送完毕。", "提示", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
'
End Try
End Sub
请问是什么问题?谢谢各位指教
...全文
16 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
eliphe 2003-12-10
HSkyXSmtp Web邮件群发组件 1.5 免费软件

下载地址:
http://www.skyec.com/U_View_cpxz_detail.asp?ProductID=11

简介:
HSkyXSmtp Web邮件群发专家,使用简单,功能强大。
  同时支持匿名和身份验证,适用于多种服务器环境,更方便使用。
  率先支持用户名和密码加密保护机制,更加安全可靠。
  采用多文本编辑模式,可直接添加字符和调入文本文件,信件格式更随心所欲。
  支持html编码超文本信件,让你的信件别出心裁,更具亮点。
  可同时发送多个附件,操作简单,速度极快。
  采用了标准的Com组件方式,只需服务器端注册即可,而再也不用担心客户机是否支持。
  本组件经过多种平台环境负荷压力测试,运行稳定、速度快、资源占用低。


附带asp,C#,VBNet的完整演示代码.
回复
xmjcwo 2003-10-27
但是我去掉smtp.server,默认使用localhost一样不行啊。
回复
lzg530 2003-10-27
Overloads Public Shared Sub Send( _
ByVal message As MailMessage
Dim myMail As New MailMessage()
myMail.From = "from@microsoft.com"
myMail.To = "to@microsoft.com"
myMail.Subject = "UtilMailMessage001"
myMail.Priority = MailPriority.Low
myMail.BodyFormat = MailFormat.Html
myMail.Body = "<html><body>UtilMailMessage001 - success</body></html>"
Dim myAttachment As New MailAttachment("c:\attach\attach1.txt", MailEncoding.Base64)
myMail.Attachments.Add(myAttachment)
SmtpMail.SmtpServer = "MyMailServer"
SmtpMail.Send(myMail)
回复
kandyasp 2003-10-27
smtp.server 需要验证
需要用socks重写编程
回复
相关推荐
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2003-10-27 03:25
社区公告
暂无公告