Spa*_*awk 9 email exim mail-command mailx
我正在尝试通过密件抄送发送 unix mail
( heirloom-mailx
)。
$ mail -V
12.5 6/20/10
Run Code Online (Sandbox Code Playgroud)
我的 MTA 是 exim,它通过 Gmail SMTP 发送。
我可以执行以下操作:
echo -e "body" | mail -s 'subject' -b hidden1@server.com,hidden2@server.com visible@server.com
Run Code Online (Sandbox Code Playgroud)
所有地址都会收到电子邮件,但密件抄送并未隐藏。即在发送给 的电子邮件中hidden1@server.com
,我仍然看到:
To: visible@server.com
Bcc: hidden1@server.com,hidden2@server.com
Run Code Online (Sandbox Code Playgroud)
如何mail
正确发送密送?
heirloom-mailx 对传递给的选项进行了硬编码/usr/sbin/sendmail
,不幸的是,它传递的选项不能使Bcc:
标题在 exim 中正常工作。如果不修补和重新编译它,这并不是真正可以修复的。(您需要将其添加-t
到参数中,然后要么不传递电子邮件地址列表,要么extract_addresses_remove_arguments = false
在您的 exim 配置中进行设置)。
有一个更简单的解决方案:只需通过 SMTP 发送即可。您可以通过设置smtp
选项来完成此操作,并且由于您已经运行了本地 MTA,您应该能够将其设置为localhost
. 你可以这样测试:
$ mail -S smtp=localhost -s 'test message' -b other@domain.com email@domain.com
la la la
.
Run Code Online (Sandbox Code Playgroud)
如果可行,您可以将 smtp 选项放在/etc/nail.rc
(系统范围)或~/.mailrc
(每个用户)中。请注意nail.rc
,带有n的 不是错字。
如果使用GNU mailx
from mailutils
package,可以使用--append
添加头变量的选项来添加BCC 和 CC ,如下所示:
$ echo -e "body text line1\nline2\n\nsent at: $(date)" | mailx --append='FROM:Foghorn Leghorn <fleghorn@sender-domain.com>' --append='BCC:recipient1@acme.com' -s "test subject" -- recipient@acme.com mickey@mouse.com minnie@mouse.com
Run Code Online (Sandbox Code Playgroud)
还要注意上面的命令如何使用 FROM 地址的头变量。
归档时间: |
|
查看次数: |
15216 次 |
最近记录: |