基于 libcurl 的高效 QQ 邮箱 SMTP 发送 DLL,专注纯文本邮件场景

智谱

AI 正在加载摘要

前言:

在日常开发中,很多工具软件、脚本、监控系统都需要一个简单、稳定、轻量的邮件发送能力。例如:

  • 程序运行异常时自动发邮件通知管理员

  • 系统任务完成后发送执行结果

  • 易语言、Delphi、VB6 等老牌开发工具集成邮件发送功能

为此,我基于 libcurl 原生 API 用C++封装了一个专供 纯文本邮件发送 的 Windows 动态链接库(DLL),底层调用 QQ 邮箱 SMTP 服务,只需一个导出函数即可完成发信。整个库专为 多线程高并发 场景优化,接口极简,开箱即用。

发信效果

76d94f46-3c66-4ff2-9b2b-d12369b0f83b_compressed

DLL及调用例子下载地址:

接口极简,一行调用即可发送

整个 DLL 只对外暴露一个函数 SendTextEmail,无论是什么开发语言,只要支持调用标准 DLL,就能快速集成:

bool SendTextEmail(
    const char* user,      // 发件人 QQ 邮箱
    const char* authCode,  // QQ 邮箱 SMTP 授权码
    const char* recipient, // 收件人邮箱
    const char* subject,   // 邮件主题(支持中文)
    const char* body,      // 邮件正文(支持中文纯文本)
    const char* fromName   // 发件人显示名称(可选,支持中文)
);

易语言调用示例

.版本 2

.DLL命令 发送文本邮件, 逻辑型, "QQSmtpDll.dll", "SendTextEmail"
    .参数 邮箱账号, 文本型
    .参数 授权码, 文本型
    .参数 收件人, 文本型
    .参数 邮件主题, 文本型
    .参数 邮件内容, 文本型
    .参数 自定义发件人名称, 文本型

天然多线程安全,无共享状态竞争

DLL 内部实现采用完全局部变量的设计思想——每次调用 SendTextEmail 都会在函数内部创建独立的 sender 对象,所有状态均限定在单次调用的栈空间内:

  • 不存在全局单例

  • 不存在静态数据竞争

  • 无内部锁开销

这意味着,无论你开多少个线程同时调用这个函数,都不会产生互斥等待或数据串扰,真正实现高效并行发送

3. QQ 邮箱原生 SMTP,稳定可靠

库底层通过 libcurl 连接 smtp.qq.com:465 并使用 SSL/TLS 加密,采用 AUTH LOGIN 鉴权方式。你只需提供 QQ 邮箱账号和授权码(非 QQ 密码),即可安全发送。

💡 授权码获取方式:QQ 邮箱 → 设置 → 账户 → 开启 POP3/SMTP 服务 → 获取授权码。

当前版本功能范围:

  • ✅ 纯文本邮件

  • ✅ 自定义发件人名称

  • ✅ 多线程安全

  • ✅ 自动中文编码处理

如果你需要更丰富的能力,可以联系定制,比如:

  • 📌 HTML 格式邮件

  • 🖼 邮件内嵌图片(如 HTML 中通过 cid: 引用)

  • 📎 附件发送(PDF、图片、Office 文档等)

  • 📋 多收件人、抄送、密送

  • 其他邮箱的stmp 发信

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
看完了?看完了愣着啊点赞干什么
点赞60 分享
评论 共6条

请登录后发表评论