linux - 从 Unix 上的 C 应用程序发送邮件的简单方法

标签 linux email smtp

我正在设计一个系统,该系统有时需要发送电子邮件通知。所以我正在寻找一种简单的方法来做到这一点。一些背景:系统将在 Linux 平台上运行,网络上某处将有一个工作的 SMTP 服务器,运算符(operator)将配置其地址、服务器凭据(如果需要)和目标电子邮件地址列表(不,我不工作群发电子邮件系统 ;-)。需要发送电子邮件的过程可能会用 C 编写,但性能并不是真正的要求,不会有很多邮件要发送,因此调用一些命令行工具是可以接受的选择。基本上,我过去为类似任务尝试过的方法:

  • 在命令行模式下调用本地 sendmail。这是一场噩梦,因为必须支持神秘的 sendmail 配置。这是我真正想避免的。
  • 直接与 SMTP 服务器端口通信(EHLO 等)。这是一个选项,但对于 2008 年来说有点太低了;-)。
  • 使用一些与本地 sendmail 守护进程通信的 MUA 作为邮件中继。这并不好,因为它需要启动和配置本地 sendmail。

所以我基本上需要一些 C 语言库或一个简单的命令行 MUA,它应该能够与远程 sendmail 对话(即与我告诉它的 SMTP 服务器对话),但不需要本地邮件中继

欢迎任何想法!

最佳答案

邮件(1) 或 mailx(1)
此外,由于您有一个本地 MTA,您可以将邮件直接通过管道发送到 sendmail(8)(尽管它的名字是这样的,但它是许多 MTA 用来注入(inject)邮件的标准接口(interface))

关于linux - 从 Unix 上的 C 应用程序发送邮件的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/341891/

相关文章:

php - 电子邮件主题中的标题错误?

java - 找到 SMTP 服务器及其端口?

python - 验证 Django 中是否存在电子邮件

linux - 在 bash 中,如何删除名称写在文件中的文件?

linux - 从 FTP 下载最新文件的 shell 脚本

linux - 具有替代方法的重载方法值 udf

javascript - Angular Reactive Forms 中所需重叠的电子邮件验证

java - Android - 从应用程序发送电子邮件崩溃电子邮件 - 强制关闭

c# - SMTP 服务器需要安全连接或客户端未通过身份验证。

c++ - GCC 4.4 fails to link valid C++11 code, when options are -std=C++0x -O0