通过 gmail 中继邮件 (msmtp, mailx, sendmail

来自 Alpine Linux

概述

如果您从 U 盘运行 Alpine,并且需要一种方法让您的程序通过标准的 gmail 帐户向您发送警报

安装 msmtp

# apk add msmtp

配置

创建全局配置

内容:/etc/msmtprc

# 为以下所有帐户设置默认值。 defaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt syslog on # Gmail 帐户 gmail host smtp.gmail.com port 587 from <您的邮箱> user <您的 gmail 帐户> password <您的密码> # 设置默认帐户 account default : gmail aliases /etc/aliases
注意:请注意,我使用了 syslog on 将 msmtp 日志发送到 syslog,但如果您希望记录到文件,您可以使用 logfile <日志文件路径>
注意:请注意别名 /etc/aliases,这将有助于 mail/sendmail 将发送给本地用户(如 root)的电子邮件重定向到外部电子邮件

Sendmail 别名

默认情况下,alpine 自带 busybox sendmail,msmtp 可以充当 sendmail 的替代品,包括语法和选项。我在此处创建了一个 local.d 脚本来覆盖 busybox 链接到 msmtp。

内容:/etc/local.d/msmtp-sendmail.start

#!/bin/sh ln -sf /usr/bin/msmtp /usr/bin/sendmail ln -sf /usr/bin/msmtp /usr/sbin/sendmail

使其可执行

# chmod +x /etc/local.d/msmtp-sendmail.start

并首次运行它

# /etc/local.d/msmtp-sendmail.start

Mailx 和别名

为使用 mail 的程序安装 mailx(例如用于监控 UPS 事件的 apcupsd)

# apk add mailx

创建一个内容为 /etc/aliases 的文件

内容:/etc/aliases

root: <您的外部邮箱地址,所有发送给 root 的邮件将发送到这里> default: <默认邮箱地址>

测试

测试电子邮件,运行

echo -e "Subject: Do you love alpine?\nYes, I do!\n"

注意:root 仅在您已设置 /etc/aliases 的情况下才有效,否则请放入您可以检查的任何电子邮件地址,而不是 root

保存配置

此材料需要扩展...

这不适用于静态安装。

# lbu ci

希望对您有所帮助。