ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2057|回复: 19

[分享] 发送邮件的DLL 不需要Outlook 支持32和64位系统

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-5-31 08:28 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
使用前先设置可以第三方发送邮件
DLL有效期到: 2023-7-31


附件:    Excel发送邮件DLL.rar (22.94 KB, 下载次数: 150)


  1. Sub 发送邮件()
  2.    
  3.     ''' <param name="StrSendMail">发件人信息: 发邮件的信箱地址|登录密码|登陆用户名|Smtp设置|SSL设置</param>
  4.     ''' <param name="ToAddress">收件人地址,多个收件人用[;]分开</param>
  5.     ''' <param name="Subject">邮件主标题</param>
  6.     ''' <param name="Body">邮件正文,换行,颜色,字体等用html标识符,如换行: BR</param>
  7.     ''' <param name="Attachment"> 附件文件路径,多个附件用[;]分开,保证文件存在,否则不会被添加;默认是:没有</param>
  8.     ''' <param name="CCAddress">抄送人地址,多个抄送人用[;]分开,默认是:没有</param>
  9.     ''' <param name="BCAddress">密送人地址,多个密送人用[;]分开,默认是:没有</param>
  10.     ''' <param name="BoolAsync">是否异步发送,默认是:否</param>
  11.     ''' <param name="BooErrMsg">发生错误是否显示错误信息,默认是:是</param>
  12.     ''' <param name="ZCM">授权码;试用,请输入参数值:QQ14885553</param>
  13.     ''' <returns>BOOLEAN</returns>
  14.     '     Public Function SendMail(ByVal StrSendMail As String, ByVal ToAddress As String, ByVal Subject As String, ByVal Body As String _
  15.         '                                    , Optional ByVal Attachment As String = "", Optional ByVal CCAddress As String = "" _
  16.         '                                    , Optional ByVal BCAddress As String = "", Optional ByVal BoolAsync As Boolean = False _
  17.         '                                    , Optional ByVal BooErrMsg As Boolean = True, Optional ByVal ZCM As String = "") As Boolean
  18.     '
  19.    
  20.     Dim SendM
  21.     Set SH = Sheets("界面")
  22.    
  23.     Rem 发件人信息设置
  24.     StrSendMail = SH.Cells(1, 2).Value                           '发件人Email
  25.     StrSendMail = StrSendMail & "|" & SH.Cells(4, 2).Value       '邮箱密码
  26.     StrSendMail = StrSendMail & "|" & SH.Cells(2, 2).Value       '邮箱用户名
  27.     StrSendMail = StrSendMail & "|" & SH.Cells(3, 2).Value       'smtp服务器
  28.     StrSendMail = StrSendMail & "|" & SH.Cells(5, 2).Value       '端口
  29.    
  30.     Rem 邮件信息设置
  31.     Subject = "测试邮件标题"        '邮件标题
  32.     Body = "Html格式邮件内容:<BR>测试邮件<BR>的内容"        ' Html格式邮件内容"
  33.     MailTo = "opiona@163.com"   ' 收件人Email"
  34.     FromName = "xxxx"            '发件人姓名
  35.    
  36.     Rem 附件 可以多个
  37.     AttachFile = ThisWorkbook.Path & "\发送邮件_成功.txt"   '添加附件 第一个
  38.     AttachFile = AttachFile & ";" & ThisWorkbook.Path & "\发送邮件_成功.txt"   '添加附件  第二个 以此类推
  39.    
  40.     Rem 开始发送
  41.     Set SendM = CreateObject("GTDSendMail.SendMail")
  42.     MsgBox SendM.SendMail(StrSendMail:=StrSendMail, ToAddress:=MailTo, Subject:=Subject, Body:=Body, Attachment:=AttachFile, ZCM:="QQ14885553")
  43.    
  44.     Rem 仅为了展示链接设置
  45.     Range("D2").Value = StrSendMail
  46.    
  47. End Sub
复制代码




TA的精华主题

TA的得分主题

发表于 2022-5-31 13:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请教一下,请问和CDO比起来有什么更优的地方吗?谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-31 19:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 opiona 于 2022-5-31 19:32 编辑
morpheus126 发表于 2022-5-31 13:25
请教一下,请问和CDO比起来有什么更优的地方吗?谢谢

没用过CDO  不知道差别
你可以测试一下 看看有什么差别!

TA的精华主题

TA的得分主题

发表于 2022-7-22 11:17 | 显示全部楼层
你好,请部下,如果要在邮件正文添加图片或工作表内容,代码要如何改

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-7-22 21:40 | 显示全部楼层
楚雪飘扬 发表于 2022-7-22 11:17
你好,请部下,如果要在邮件正文添加图片或工作表内容,代码要如何改

html信件模板: https://wenku.baidu.com/view/899 ... edb6f1aff00bfd57050

TA的精华主题

TA的得分主题

发表于 2023-5-13 13:02 | 显示全部楼层
morpheus126 发表于 2022-5-31 13:25
请教一下,请问和CDO比起来有什么更优的地方吗?谢谢

cdo 一般要 使用
"http://schemas.microsoft.com/cdo/configuration/"    '微软服务器网址

有自动把数据送上门的嫌疑

TA的精华主题

TA的得分主题

发表于 2023-5-13 16:10 | 显示全部楼层
运行到“Set SendM = CreateObject("GTDSendMail.SendMail")”代码时变成黄色,提示“运行时错误” 429' :
ActiveX部件不能创建对象”,是怎么回事?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-13 16:56 | 显示全部楼层
112ppp 发表于 2023-5-13 16:10
运行到“Set SendM = CreateObject("GTDSendMail.SendMail")”代码时变成黄色,提示“运行时错误” 429' :
...

注册 DLL控件

TA的精华主题

TA的得分主题

发表于 2023-5-13 22:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
简单问题复杂化了,根本用不到dll控件

TA的精华主题

TA的得分主题

发表于 2023-5-13 23:28 | 显示全部楼层
还有有效期. 再者不清楚DLL里面是啥代码,涉及密码我是不敢用啊。
对事不对人,楼主见谅。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-23 13:57 , Processed in 0.045050 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表