linux – 如何使sendmail中继本地邮件?
我有www服务器叫mywebsite.com和邮件serwer mymail.com. mywebsite.com的邮件由mymail.com处理(mywebsite.com的mx记录是mymail.com).问题是我想从我的www服务器mywebsite.com发送邮件到域mywebsite.com中的地址.
所以我在mywebsite.com上配置了sendmail,通过mymail.com传递所有邮件. 问题是sendmail在发送到例如rafal@mywebsite.com时抱怨用户未知(但该邮箱存在于mymail.com上).所有maiblox都在mymail.com上,不在mywebsite.com上. 这是在mywebsite.com上从telnet登录到localhost root@mywebsite.com# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 familie.pl ESMTP Sendmail 8.13.8/8.13.8; Sun,6 Nov 2011 18:21:04 +0100 helo domain.pl 250 domain.pl Hello localhost.localdomain [127.0.0.1],pleased to meet you mail from: me@mywebsite.com 250 2.1.0 me@mywebsite.com... Sender ok rcpt to: rafal@mywebsite.com 550 5.1.1 rafal@website.com ... User unknown data 503 5.0.0 Need RCPT (recipient) 有没有办法禁用检查本地域的rcpt? 解决方法
这是从
http://www.tipstrs.com/tip/13296/Setting-up-sendmail-with-a-catch-all-for-unknown-email-addresses引用的
如果您在Linux服务器上运行sendmail,则可以非常轻松地配置sendmail,以便将发送到您域中未知电子邮件地址的任何电子邮件转发到已知地址.这样做会导致更多的垃圾邮件,但我喜欢这个因为我可以使用不存在的电子邮件地址用于特定目的(例如当论坛需要有效的电子邮件地址作为注册确认过程的一部分时) . 以下是如何为Fedora中的所有未知电子邮件地址设置一个全能(您的disto可能略有不同),所有这些命令都需要在root用户下运行: >编辑/etc/mail/sendmail.mc文件并查找包含virtusertable的行,并确保它没有被注释掉.如果已注释掉,请删除注释.就我而言,它看起来像这样: FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dn >编辑/ etc / mail / virtusertable文件并添加如下所示的行,一个用于服务器上要为其添加catch-all的每个域: @domain1.com postmaster-domain1 @domain2.com postmaster-domain2 在此示例中,发送到domain1.com上的未知用户的任何邮件都将转发给postmaster-domain1用户,发送给domain2.com上的未知用户的任何邮件都将转发给postmaster-domain2用户.为此,转发邮件的用户必须存在,并且能够接收邮件. 这里的所有都是它的.一旦您采取这几个简单的步骤,您就可以获得发送给您域中未知用户的任何电子邮件的全部内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |