mailx发送邮件错误,不知该如何设置From:地址。
我在我的linux上,使用mutt管理邮件,使用esmtpd来发送邮件到smtp.126.com,mutt可以正常工作。但是使用mail命令就不能外发邮件。个人估计估计是因为mail程序的邮件地址是自动设置为user@localhost。mutt中可以修改这个地址但是没有找到如何在mailrc中设置这个东西。
请指教!!
好像没有办法喔,mailx的发送可以定制的行为不多.
太晚了,都没有人了。看来只有我自己来回答这个问题了。对需要认证的smtp,关键还是From:的问题。
在mailx中可以通过在.mailrc中设置set sendmail=program 来指定发信的MDA
但是不能跟参数。 mailx和mutt这样的MUA,调用MDA的方式估计是采用进程管道的方法。通过写一个程序模拟MDA发现mailx和mutt的方式差别还是很大的。
希望发信地址为[email protected] ,收信地址是[email protected]
(1)这个是mailx给MDA传递的内容
根本就没有From:项
-----program arguments----------- 起动MDA时的参数
send-mail -->argv
-i -->argv
-- -->argv
[email protected] -->argv
----from standard reading-------- 通过管道传递的数据
To: [email protected]
Subject: hello
邮件体的内容
------------------------------------
(2)这个是mutt传递给MDA的内容
-----program arguments-----------
mysendmail
-f
[email protected]
--
[email protected]
----from standard reading--------
Date: Thu, 23 Dec 2004 02:59:42 +0800
From: sender <[email protected]>
To: [email protected]
Subject: hello
Message-ID: <[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.6+20040907i
邮件体的内容
--------------------------
这个差异的确太打了,如果没有其它好的办法可以在mailx或者esmtp中设置的话,要让mailx通过estmtp发信看来只有写一个程序来把mailx和esmtp嫁接起来了。
那又何必呢, mutt -nx 就可以模拟 mail的一些行为方式了。
只是一时好奇,想看看这两个同为老牌的MUA到底有和不同。
当然希望有人能告诉我直接的设置方法。希望mailx的设计者是考虑了这个问题的。
哈哈,可以简单搞定了
要修改.esmtprc的设置使用identity选项,这样发送出去的邮件都是这个identity指定的地址发出的。不用修改什么mailrc的了。今天晚上的弯路也算是输入了解了linux MUA, MDA的工作机制的一部分吧。^_^
页:
[1]