由于我configuration了我的服务器,我经常在垃圾邮件文件夹中收到这些电子邮件:
** truncated ** ----- The following addresses had permanent fatal errors ----- <[email protected]> (reason: 554 5.7.1 <[email protected]>: Relay access denied) ** truncated **
我真的有一个名为db1.mydomain.com的服务器,但由于我找不到的原因,它被转发到localhost.mydomain.com。
当然,我configuration了别名:
$: cat /etc/aliases root: [email protected] ....
并通过更新
$: newaliases
但是,问题仍然存在。
我不知道我错过了什么,在哪里解决。 而我试图在Google上search的东西并不能帮助我(大部分时间是关于/ etc / aliases)。
感谢您的帮助。 (如果你需要更多的细节,请问,我会添加)
你需要configurationsendmail伪装。 如果我理解正确,您希望来自主机db1.mydomain.com的邮件显示为来自mydomain.com
如果你使用m4macros处理器,这很容易 – 编辑sendmail.cf很快就会变成我的经验,而不是编辑sendmail.mc模板,并用类似的东西重新编译
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
基本上,如果你直接开始编辑sendmail.cf,那么你自己做。 (你也没有指定你在使用什么操作系统,所以你可能需要安装m4处理器和sendmail-cf软件包或类似的软件)
将这些行添加到sendmail.mc中:
MASQUERADE_AS(`mydomain.com')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnl
你只需要masquerade_entire_domain,如果你想重写来自say,机器host.myotherdomain.com的信封。 你可能不需要这个,所以你可以在sendmail.mc文件中注明“dnl”。 (请注意,信封重写控制sendmail在与其他服务器的SMTP / ESMTP对话中使用的内容,而MASQUERADE_AS行则重写接收者实际看到的“From:”行)
'dnl',反过来,在m4中就像shell脚本中的“#”一样。 “通过换行删除”IIRC。 你不能做这个东西。 真的很恶心
如果你想sendmail伪装邮件从根(以及它通常会暴露从根源的邮件的FQDN),你需要改变
EXPOSED_USER(`root')dnl
至
dnlEXPOSED_USER(`root')dnl
好的,现在您需要确保您的发送客户端有权通过db1.mydomain.com进行中继。 现在无论出于什么原因,你的机器发送的信封名称为localhost.mydomain.com(我想可能是连接到它的回送地址或其他东西,但不能确定,也许你有东西搞砸了你的DNS )不允许中继。 最简单和最安全的方法是列出授权机器将在/ etc / mail / relay-domains中显示的所有信封名称(在您的情况下,将localhost.mydomain.com添加到您的relay-domains文件中)任何其他主机(FQDN,同样具有正确的A和PTRlogging),然后添加
FEATURE(relay_hosts_only)dnl
到你的sendmail.mc。
或者你可以使用
FEATURE(relay_entire_domain)dnl
这将允许mydomain.com中的任何主机通过db1.mydomain.com中继邮件。 我个人更喜欢更严格的选项。
有许多(MANY)其他FEATUREmacros
你也许应该看看这个文档来得到一个想法。 (sendmail.com) – (虽然在这段时间,你可能可以用postfixreplacesendmail …)
一旦你完成编辑你的sendmail.mc生成sendmail.cf如上所述。
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
并重新启动sendmail。
我希望这有帮助。 谷歌周围的“sendmail伪装”和“控制sendmail中继”了解更多信息。 不要直接编辑你的cf,这是一个痛苦的世界。
-qb
似乎你没有正确configuration你的主机名(localhost ??)
确保您的主机名(使用'主机名'命令find)被configuration为接受和中继电子邮件。
你还没有提到你正在使用哪个MTA,但为sendmail添加了一个标签,所以我假设你正在使用这个标签。
检查/etc/mail/sendmail.cf并检查以。开头的行
Cw
和
Fw
声明。 确保您的主机名(在'hostname'命令中find)在那里configuration。