ssmtp是一个简单的Linux下,通过SMTP发送邮件的命令行工具。由于我希望给我的邮箱每天发送我的多台VPS的每日日志、crontab记录等信息,同时我自己有自己私有的SMTP服务器,ssmtp刚好是一个可以满足我需求的一个轻量工具。这里记录一下ssmtp的配置。
首先通过apt等包管理器来安装ssmtp。
下一步就是编辑配置文件。配置文件位于/etc/ssmtp/ssmtp.conf
。由于我是私有的SMTP服务器,且我的VPS均处于一个虚拟的内网,我在SMTP开放了基于IP地址的白名单,所以配置很简单,不需要配置身份认证。
主要的配置如下:
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
# uid小于1000的用户的邮件发件人
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# SMTP服务器
mailhub=
# Where will the mail seem to come from?
# 重定向的发件域
#rewriteDomain=
# The full hostname
# 发件的域名
hostname=
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
# 是否允许指定发件人
FromLineOverride=YES
我这里完全自行指定发件人,所以我这里比较关键的就是FromLineOverride
设为YES
,并配置好mailhub
就好。
如果想要是用公用的SMTP服务器,并进行身份认证,需要正确设置好重定向域和发件人,否则会被SMTP服务器拒绝。同时需要配置AuthUser
和AuthPass
。然后按需设置UseTLS
和UseSTARTTLS
。
配置好后,执行下面的命令可以测试发件是否正常:
ssmtp 收件人
To: 收件人
From: 发件人
Subject: 主题
内容
(CTRL+D)