我已经安装了:
- sudo apt-get 安装 ssmtp
- sudo apt-get 安装 mailutils
当我使用命令时:
echo "something" | mail -s "testing email" [email protected]
生成的电子邮件的“发件人”字段设置为如下内容:
From: "Username" <[email protected]>
是否有一个配置文件或者类似的东西,我可以在何处更改默认地址?
请注意,更改 TO 字段很容易,如下所述:如何让 ssmtp 将本地用户映射到收件人:字段的电子邮件地址,但我需要更改默认的 FROM 字段。
编辑:我还需要更改 sendmail 模拟的发件人地址。在我的例子中,Cron 设置发件人:root 和收件人:root,我想将其更改为普通电子邮件地址。
答案1
ssmtp 中有几个设置可以进行操作,以允许更改电子邮件的“发件人”字段:
内有一个设置
/etc/ssmtp/ssmtp.conf
。默认情况下,系统选择“发件人”地址,但可以通过取消选中 FromLineOverride 行来更改:# 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
我所说的“取消选中”是指删除该特定行开头的井号。
可以进行设置
/etc/ssmtp/revaliases
以允许每个用户使用特定的“发件人”行。给出的示例revaliases
相当无用:# Example: root:[email protected]:mailhub.your.domain[:port] # where [:port] is an optional port number that defaults to 25.
但是手册页给出了更明确的例子:
A reverse alias gives the From: address placed on a user's outgoing messages and (optionally) the mailhub these messages will be sent through. Example: root:[email protected]:mail.isp.com Messages root sends will be identified as from [email protected] and sent through mail.isp.com.
我个人不使用 ssmtp,而是使用 msmtp,其中更改“发件人”字段的语法要简单得多,并且可以包含在文件中$HOME/.msmtprc
:
from [email protected]
这容易多了……
参考: