按照 Mailx 自己的介绍,它是一个增强了的 Mail 命令,提供了更多的功能。

常规用法是: mailx -s "{{subject}}" {{to_addr}},通过配置之后可以使用邮箱运营商的服务器发送邮件。

以使用 QQ 邮箱为例,可以编辑 /etc/mail.rc 的全局配置文件,也可以编辑 ~/.mailrc 的本地配置文件。

如果使用本地的配置文件,首先要将全局配置文件复制到本地:

$ cp /etc/mail.rc .mailrc

然后编辑 .mailrc 文件:

# ~/.mailrc
set from={{your_email_address}}
set smtp=smtps://smtp.qq.com:465
set smtp-auth=login
set smtp-auth-user={{your_email_address}}
set smtp-auth-password={{authorization_code}}
set ssl-verify=ignore

这里的授权码是 QQ 邮箱用于登录第三方客户端的,并不是 QQ 邮箱密码:

mailx

最后可以发个邮件测试一下:

$ mailx -s 'Mailx Test' {{to_addr}} <<< 'This is a test to check if mailx works well.'

在朋友的推荐下,我知道了有另一个功能强大而且 standalone 的包 swaks ,它只依赖于 perl 解释器:

swaks

mailx 的配置类似,它需要修改 .swaksrc 文件:

--from {{your_email_address}}
--server smtp.qq.com
--auth-user {{your_qq}}
--auth-password {{authorization_code}}

同样可以发个邮件测试一下:

swaks --to {{to_addr}} --h-Subject 'Swaks Test' --body 'This is a test for swaks'