VBA用CDO批量发送邮件

VBA用CDO批量发送邮件

由于工作需要给单位内每个人发送有关个人信息的邮件,给每个人发送的附件都不一样。没学过VBA,上网搜索有很多相关的教程,使用的是QQ邮箱,事先要开通SMTP服务获取授权密码。希望能给有需要的人一些帮助。

Sub CDOEMAIL()
Application.ScreenUpdating = False
lr = Cells(Rows.Count, 2).End(3).Row '读取数据行数
’ MsgBox (lr) '显示数据行数
Dim cm As Variant
For i = 2 To lr '循环,从第2行开始
Const Email_From = “XXX@qq.com” '用于发送的邮箱号码
Const Password = “XXX” '邮箱密码,必须是开通SMTP服务后获得的授权密码
'Const Email_To = Sheet1.Range(“B” & i)
Set cm = CreateObject(“CDO.Message”)

cm.Subject = Sheet1.Range(“C” & i) '邮件主题,从C2开始
cm.From = Email_From
cm.To = Sheet1.Range(“B” & i) '收件人邮箱,从B2开始
cm.TextBody = Sheet1.Range(“D” & i) '邮件内容,D2
cm.AddAttachment Sheet1.Range(“E” & i) '附件路径,E2
Const schema = “http://schemas.microsoft.com/cdo/configuration/” '微软邮件服务器网址

With cm.Configuration.Fields
.Item(schema & “sendusing”) = 2 '发送端口
.Item(schema & “smtpserver”) = “smtp.qq.com” 'SMTP服务器地址
.Item(schema & “smtpauthenticate”) = 1
.Item(schema & “sendusername”) = Email_From '发送邮箱名称
.Item(schema & “sendpassword”) = Password '发送邮箱密码
.Item(schema & “smtpserverport”) = 465 'SMTP服务器端口
.Item(schema & “smtpusessl”) = True
.Item(schema & “smtpconnectiontimeout”) = 60
.Update
End With
cm.Send
Set cm = Nothing
Next
End Sub
要发送的邮件列表

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
VB CDO (Collaboration Data Objects) 是一种用于在VB语言中接收邮件的编程接口。使用VB CDO可以方便地连接到邮件服务器并接收电子邮件。 首先,我们需要在VB项目中添加CDO库的引用。它可以在“项目”菜单中的“引用”选项中找到。我们需要选择"CDO for Windows Library"以使用CDO的功能。 接下来,我们需要在VB代码中实例化一个CDO对象,用于连接到邮件服务器。使用以下代码可以创建一个CDO.Session对象: ``` Dim objSession As CDO.Session Set objSession = CreateObject("MAPI.Session") ``` 接下来,我们需要通过设置Session对象的属性来配置连接信息。例如,我们可以设置邮件服务器的名称和端口号,设置用户名和密码等。以下是一个设置连接信息的示例代码: ``` objSession.Logon , , False, True, , False objSession.CMAPIFlags = CdoCMAPILogon objSession.MapiProfile = "username" ``` 然后,我们可以使用Session对象的GetDefaultFolder方法来获取收件箱(Inbox)文件夹的引用。以下是一个获取收件箱的示例代码: ``` Dim objFolder As CDO.IFolder Set objFolder = objSession.GetDefaultFolder(CdoDefaultFolderInbox) ``` 最后,我们可以遍历收件箱中的所有邮件,读取邮件的主题、发件人、收件人等信息。以下是一个读取邮件信息的示例代码: ``` Dim objMessage As CDO.Message For Each objMessage In objFolder.Messages MsgBox "主题:" & objMessage.Subject & vbCrLf & "发件人:" & objMessage.SenderName Next objMessage ``` 以上就是使用VB CDO接收邮件的基本步骤。通过实例化CDO对象、配置连接信息、获取文件夹引用以及遍历邮件来读取信息,我们可以轻松地在VB中接收邮件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值