定制Gmail邮件域名并由服务器发送
Cloudflare加Gmail的SMTP设置
要想将Gmail的邮件域名设置成你的域名,需要使用Cloudflare的Email Routing功能。
所以如果你的域名解析商不是Cloudflare,那么你可能需要更换一下。
具体怎么配置, 可以参考这个gist。
如果你已经可以使用Gmail以自己的域名发送邮件,发送到你域名的邮件也会转发到你指定的邮件地址,那么这一步就算成功了。
msmtp安装配置
接下来为服务器安装SMTP客户端msmtp
。
1
2
apt update
apt install msmtp msmtp-mta
配置文件~/.msmtprc
:
# Gmail SMTP 配置示例
account default
host smtp.gmail.com
port 587
auth on
user your-email@gmail.com
# Gmail的App密码
password your-app-password
from your-email@your-domain.com
tls on
tls_starttls on
logfile ~/.msmtp.log
修改文件权限chmod 600 ~/.msmtprc
测试一下:echo "Test email content" | msmtp recipient@example.com
邮件格式与附件
ssmtp只支持发送纯文本,也不支持附件。
要想发送html格式的邮件并添加附件可以使用另一个邮件客户端mutt
。
apt install mutt
编辑配置文件.muttrc
:
set from = "your-email@gmail.com"
set realname = "Your Name"
set smtp_url = "smtp://your-email@gmail.com@smtp.gmail.com:587/"
set smtp_pass = "your-app-password"
测试一下:
1
echo "<html><body><h1>This is a HTML email</h1><p>With an attachment.</p></body></html>" | mutt -e "set content_type=text/html" -s "Test Subject" -a /path/to/your/file.txt -- recipient@example.com
This post is licensed under CC BY 4.0 by the author.