Dim cm As New CDO.Message 'CDO.message是一个发送邮件的对象
'Set cm = CreateObject("CDO.Message") '创建对象 '引用路径:C:\Windows\system32\cdosys.dll'这个是要引用的,如果不引用,可以用这句也行
cm.From = "[email protected]" '设置发信人的邮箱"
cm.To = "[email protected]" '设置收信人的邮箱
cm.Subject = "主题:邮件发送试验" '设定邮件的主题
'cm.TextBody = '邮件正文,使用文耐磨本格式发送邮件,如果太复杂了就不行了,要用下面这种
cm.HtmlBody = "邮件发送试验^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" '使用html格式发送邮件
cm.AddAttachment "D:\1.txt" '发的附件名与地址
stUl = "http://schemas.microsoft.com/cdo/configuration/"雀敬 '微软服务器网址,固定的,不用改的
With cm.Configuration.Fields
.Item(stUl &"smtpserver") = "smtp.qq.com" 'SMTP服务器地址
.Item(stUl &"smtpserverport") = 25 'SMTP服务器端口
.Item(stUl &"sendusing") = 2'发送端口
.Item(stUl &"smtpauthenticate") = 1 '需要提供用户名和密码,0是不提供 '
.Item(stUl &"sendusername") = "30687724"'发顷亩慎送方邮箱名称,不用输入@后面的东西
.Item(stUl &"sendpassword") = "suxi87724" '发送方邮箱密码
.Update
End With
cm.Send '最后当然是执行发送了
Set cm = Nothing
'发送成功后即时释放对象
End Sub
上来是其中一个贴子,其他的内容在参考资料的网址里Visual Basic 6中发送邮件的新方法
用VB6编写发卜纯含送邮件的程序,有多种E-mail组件可供选择,如MAPIMessages、IIS4.0附带的CDONTS(NTS Collaboration Data Objects)以及许多第三方厂商开发的Email软件等。本文介绍用CDONTS开发VB下的邮件程序方法。
1. 确认已安装SMTP服务器
首先,必须确认在IIS服务器上已安装SMTP服务器,这是安装Option Pack时被缺省安装的选项。如果SMTP服务器已安装,在System32目录下会存在一个名为cdonts.dll的文件。
2. 最简单的邮件发送程序
以下裤雹是一个最简单的邮件发送程序,它由[email protected]向[email protected]发出一封标题为“Title”、内容为“Hello”的E-mail:
Private Sub cmdSendMail_Click()
Dim objMail as Object
Set objMail=CreateObject("CDFONTS.DLL")
ObjMail.Send "[email protected] ", "[email protected]","Title","Hello"
Set objMail=nothing
End Sub
3. 发送邮件附件
如果有附加的文件需要型笑随同邮件传送,可以使用CDONTS的AttachFile方法:
Private Sub cmdSendMail_Click()
Dim objMail as Object
Set objMail=CreateObject("CDFONTS.DLL")
With ObjMail
.From= "[email protected] "
.To= "[email protected]"
.Subject="Title"
.Body="Hello"
.AttachFile "c:\document\ sample.doc","sample.doc"
.Send
End With
Set objMail=nothing
End Sub
4. CDONTS组件常用属性和方法
CDONTS组件常用的属性和方法列举如下:
属性:
Version:返回CDONTS组件的版本号
MailFormat:邮件格式,1-普通文本类型;0-MIME类型
Cc:设置一个或多个参阅的邮件地址
From:邮件发送者的地址
To :邮件接受者的地址
Subject:标题
Body:内容
BodyFormat:内容格式,1-普通文本;0-超文本
方法:
AttachFile:附加一个文件
AttachURL:附加一个地址
Send:发送邮件
5. 发送超文本格式的E-mail
你一定见到过许多使用超文本格式的E-mail,其中不但可以有图片、声音,甚至还可以嵌入动画。如果给你的朋友也发送一封这样的邮件,一定会带给他(她)意外的惊喜,因为这用一般的邮件发送程序是无能为力的。以下使用CDONTS组件发送一个HTML格式的邮件,其中包含有一幅名为sample.gif的图片,程序如下:
Private Sub cmdSendMail_Click()
Dim objMail as Object
Set objMail=CreateObject("CDFONTS.DLL")
Dim strHTML as String
StrHTML=""
StrHTML= StrHTML+""
StrHTML = StrHTML +"
用CDONTS发送Email的例子"
StrHTML= StrHTML+"
"
StrHTML= StrHTML+"
以上例子嵌入了图片sample.gif
"
StrHTML= StrHTML+""
With ObjMail
.From= "[email protected] "
.To= "[email protected]"
.Subject="Title"
.Body=strHTML
.AttachURL "c:\mydata\sample.gif","sample.gif"
.BodyFormat=0
.EmailFormat=0
.Send
End With
Set objMail=nothing
End Sub
到这里,相信大家一定发现SMTP邮件处理的一个缺陷了。SMTP服务器接收你的输出消息,但并不做发送者名字和地址的验证,这本是由SMTP的异步发送机制所决定的,但有人可能别有用心地用它来假扮别人发送邮件!本文强烈建议各位切勿轻易试用,一旦让ISP知道你的行径,你的帐号极可能会被立即删除。
我没有仔细看你的程序,估计你没有错,错在邮件服务器。因轮顷为很多邮件服务器不支持jmail收发邮件。你用163的邮箱,而且要升过及的烂睁3G油箱。
下面是我的代码,我试过了可以的,而且可以带附件的。
Sub
SendMail(Optional
ByVal
sSubject
As
String,
_
Optional
ByVal
sBody
As
String,
_
Optional
ByVal
sFileName
As
String)
Dim
jmail
Set
jmail
=
CreateObject("jmail.Message")
jmail.Charset
=
"gb2312"
jmail.Priority
=
1
'邮件状态,1-5
1为最高
jmail.MailServerUserName
=
"c55c55"
'Email帐号
jmail.MailServerPassWord
=
"XXXXX"
'Email密码
'jmail.FromName
=
"hu"
'发信人姓名
jmail.From
=
'发邮件地址地址
jmail.Subject
=
"来信了"
'主题
jmail.AddRecipient
'收信人地饥桐岁址
jmail.Body
=
sBody
'信件正文
jmail.AddAttachment
("I:\远程监控V1.0\Client\wj.jpg")‘附件
jmail.Send
("smtp.163.com")
Set
jmail
=
Nothing
End
Sub
注意:发件人邮箱必须是07年11月以前申请的,而且必须是升过级的才行,126的也是一样。上面两个邮箱都是我的,我将两个邮箱互换就不行了。
邮件收发很麻烦,别说你只50分,你就是拿500块钱,也未必会有人告诉你,估计知道的人不多,而且知道的不一定会告诉你。
我至今也只能发送邮件,接收带附件的邮件我至今也没搞好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)