我正在设计一个系统,该系统有时需要发送电子邮件通知。所以我正在寻找一种简单的方法来做到这一点。一些背景:系统将在 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/