由第三方设置的基于云的服务器使用sendmail进行电子邮件发送。
现在,sendmail已经被configuration为使得来自www-data@localhost [1]的电子邮件被发送为[email protected] 。 电子邮件通常会发送到第三方电子邮件,例如[email protected] (注意不同的目标域)。
但是,现在我们还需要发送电子邮件到[email protected] 。 试图这样做,但是,结果在550 5.1.1 <[email protected]>... User unknown 。
我严重的configurationsendmail的空白。
任何人都可以提供一些关于如何正确地做到这一点的指针?
[1]这是在/etc/apache2/sites-available/default定义的ServerAdmin名称
@MatHatter问:
“sendmail已被configuration为使得来自www-data @ localhost的电子邮件被发送为[email protected]”。 怎么样?
我想通过/etc/mail/sendmail.mc的以下几行:
dnl # Replace sender's domain MASQUERADE_AS(`example.com')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnl MASQUERADE_DOMAIN(`example.com')dnl
(再说一遍,我不是那个制作sendmail.mc文件的人;如果有一定的线路可以找,我很乐意在这里发布)。
这里是附加信息:
root@webserver:/etc/mail# grep '^Fw' sendmail.cf Fw/etc/mail/local-host-names %[^\#] root@webserver:/etc/mail# cat local-host-names localhost webserver
example.com是否在本地电子邮件域名列表中列出? 要获取本地电子邮件域的列表,请以root身份执行以下命令:
echo '$=w' | sendmail -Am -bt
Sendmail默认将自动检测到的本地电子邮件域添加到/etc/mail/local-host-names列出的域。 可以使用sendmail.mc中的confDONT_PROBE_INTERFACESclosures它
define(`confDONT_PROBE_INTERFACES',`True')
sendmail.mc必须重新编译为sendmail.cf,必须重新启动sendmail守护程序或HUPed才能看到新的sendmail.cf。
谢谢你试图回答我的问题!
在这个周末,最初设置服务器的人最后修改了sendmail.mc (我今天早上才收到他的邮件):
define(`confDOMAIN_NAME', `example.com')dnl
MASQUERADE_AS(`example.com')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnl MASQUERADE_DOMAIN(`example.com')dnl define(`MAIL_HUB', `mailgw.example.com.')dnl
现在,发送到@example.com电子邮件将正确路由到服务@example.com的实际邮件服务器。
感谢您的帮助,伙计们!