更改Unix"邮件"中的"发件人:"地址
时间:2020-03-05 18:50:54 来源:igfitidea点击:
使用mail TO_ADDR
从Unix命令行发送消息会导致来自$ USER @ $ HOSTNAME的电子邮件。有没有办法更改
mail`插入的"发件人:"地址?
作为记录,我在Ubuntu上使用GNU Mailutils 1.1 / 1.2(但我已经看到Fedora和RHEL的行为相同)。
[编辑]
$ mail -s Testing [email protected] Cc: From: [email protected] Testing .
产量
Subject: Testing To: <[email protected]> X-Mailer: mail (GNU Mailutils 1.1) Message-Id: <E1KdTJj-00025z-RK@localhost> From: <chris@localhost> Date: Wed, 10 Sep 2008 13:17:23 -0400 From: [email protected] Testing
"发件人:[email protected]"行是消息正文的一部分,而不是标头的一部分。
解决方案
回答
以下是一些选项:
- 如果我们有足够的特权,请配置sendmail以使用generics表进行重写
- 自己编写整个标头(或者邮寄给自己,用所有标头保存整个消息,然后重新编辑,然后从命令行使用rmail发送
- 直接通过sendmail发送,使用" -f"命令行标志,并且不要在邮件中包含"发件人:"行
这些并不完全相同,但是我让我们进一步研究。
在我的便携式电脑上,我已将sendmail验证为外发邮件服务器的客户端,并且使用泛型使返回的邮件到达另一个帐户。它像一种魅力。
我将收到的邮件与fetchmail汇总在一起。
回答
在我的邮件版本(Debian linux 4.0)中,以下选项可用于控制源/回复地址
- -a开关,以应用其他标头,在命令行上提供From:标头,该标头将添加到传出邮件标头中
- $ REPLYTO环境变量指定一个Reply-To:标头
所以下面的顺序
export [email protected] mail -aFrom:[email protected] -s 'Testing'
在我的邮件客户端中,结果是来自[email protected]的邮件,所有回复都将默认为[email protected]
注意:Mac OS用户:我们没有-a,但是我们有$ REPLYTO
回答
这对我有用
echo "hi root"|mail [email protected] -s'testinggg' root
回答
在Centos 5.3上,我可以执行以下操作:
mail -s "Subject" [email protected] -- -f [email protected] < body
双破折号使邮件无法解析-f参数,并将其传递给sendmail本身。
回答
GNU mailutils的" mail"命令不允许我们这样做(至少很容易)。但是,如果我们安装" heirloom-mailx",则其邮件命令(mailx)具有" -r"选项,以覆盖字段中的默认" $ USER @ $ HOSTNAME"。
echo "Hello there" | mail -s "testing" -r [email protected] [email protected]
适用于" mailx",但不适用于" mail"。
$ ls -l /usr/bin/mail lrwxrwxrwx 1 root root 22 2010-12-23 08:33 /usr/bin/mail -> /etc/alternatives/mail $ ls -l /etc/alternatives/mail lrwxrwxrwx 1 root root 23 2010-12-23 08:33 /etc/alternatives/mail -> /usr/bin/heirloom-mailx