邮件时不使用sendmail genericstable

时间:2016-09-16 16:30:58

标签: root sendmail

我想将root的所有邮件(基本上是所有cron作业的输出,以及root的其他邮件)转发到外部电子邮件地址(hotmail)。

最简单的方法是使用别名文件。我更新了根别名: root:mymail@hotmail.com 并运行newaliases。

当发送电子邮件时,我看到hotmail MX服务器"接受"我的邮件。通过默默无闻的标准MS安全性使我认为它默默地丢弃我的电子邮件(不是垃圾邮件......)。

此服务器用于发送/接收域的邮件(以及将来的更多域)。

我检查了日志,似乎邮件是从以下字段发送的:root@mail.domain.com

我非常确定这是我的邮件的根源,从未在我的Hotmail中收到过。 现有的电子邮件地址使用的是user@domain.com。

现在我想从地址/ ctladdr重写这个(邮件)。 我认为这对于genericstable很容易解决。

Genericstable(有多次尝试):

root info@domain.com
root@localhost info@domain.com
root@mail.domain.com info@domain.com

使用makemap重新生成数据库。 我尝试了不同的设置。

我还删除了EXPOSED_USER根目录(来自通用m4文件)。我可以看到它不在生成的cf文件中。

我还向受信任的用户添加了root。

在我的m4文件中:

FEATURE(genericstable)dnl
GENERICS_DOMAIN(domain.com)dnl
dnl GENERICS_DOMAIN(mail.domain.com)dnl
dnl GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
FEATURE(masquerade_envelope)dnl
dnl define(`LOCAL_RELAY', `localhost')dnl

我也有提交mc文件。不确定这是否重要,但我不这么认为。 (就我所知,我没有以MSP模式运行sendmail。)

我已经尝试使用GENERICS_DOMAIN作为我想要的域或我想要重写的域。

全部安装 并重新启动sendmail。

它似乎只是以root@mail.domain.com

的形式出现

我在地址测试模式下尝试使用sendmail(bt; tryflags hs并尝试使用esmtp root)。这正确地修改为所需的源地址:info@domain.com。

任何人都有其他想法为什么这不起作用?还是更多调试方式? 我需要local_relay来完成这项工作吗?什么预计在hosts文件中? fqdn(mail.domain.com)和127.0.0.1的主机名(邮件)?

编辑:我可能应该提一下,我有一个MailScanner的传入队列。

提前多多感谢!

1 个答案:

答案 0 :(得分:0)

我认为我的问题的根源是我希望标题中提到的所有邮件服务器都删除了mail.example.com。 但是,第一个标头是将其提交到本地队列。 只有当Sendmail发送邮件(连接到example.com的外部MX)时,翻译才会完成。 因此,标题中提到的服务器保留在mail.example.com。

我认为mail.example.com是hotmail没有发送我的电子邮件的罪魁祸首。这似乎是错的。 经过长时间的调查后,我注意到如果我发送了一封来自info@example.com的电子邮件到hotmail,那么它被接受后就无法显示(不,甚至不是垃圾邮件......)。 如果我首先向info@example.com发送了一封电子邮件,然后从info@example.com发回一封邮件,则邮件将成功传递到hotmail邮箱中。 对于同一个example.com域的其他用户来说似乎也是如此(因此不仅仅是使用info @)。

经过一番调查后,我注意到:html电子邮件似乎更容易发送(通过squirrelmail发送)。纯文本邮件似乎被忽略了。

注意:在所有情况下,我的邮件都被hotmail邮件服务器接受。所以没有错误代码550或其他什么。我总是从mail.example.com服务器(命令行或通过Squirrelmail)发送邮件。

编辑:我和Hotmail又遭遇了一次讨厌的遭遇。我的信息再次被接受,只是消失了。我之前没有任何问题就发送到这个目的地地址。但由于某些原因,Hotmail邮件服务器突然得到了改善"。 我想引用几年前开放的主题的参考文献,该主题仍在进行中,没有来自MS的反馈:https://answers.microsoft.com/en-us/outlook_com/forum/oemail-osend/messages-reported-as-250-queued-for-delivery-but/f451cda5-ba7d-45ff-b643-501efe2413dc?page=2。所以你绝对不是唯一的。但也明白可能存在导致相同症状的多个问题。

所以我想添加一些可能有助于防止其他人头痛的步骤:

  • 使用明确说明您的公司和域名的页脚。
  • 使用HTML邮件
  • 由于某些原因,有时我会看到邮件直接发送到Deleted文件夹中。不在垃圾邮件
  • 出于某种原因,从您的域名发送更多邮件会更好,因为您获得更多"声誉"
  • 您可以在此处与Microsoft打开案例: https://support.microsoft.com/en-us/getsupport?oaspworkflow=start_1.0.0.0&wfname=capsub&productkey=edfsmsbl3&locale=en-us&ccsid=635754176123391261 不要把你的期望设定得很高。他们主要向您发送一封电子邮件,说明您没有资格进行补救,之后会以标准答案回复您的案例。然而,创建此案例的做法可能会确认您的电子邮件确实已被“过滤”#34;强大的SmartScreen(他们不会告诉你原因)。但这种方式至少你知道它是垃圾邮件过滤器,以下几点可能会帮助你。 确保传递消息ID,时间戳,...(maillog的日志条目就是我所做的)
  • 您的案例的答案肯定会提到使用SNDS(智能网络数据服务)和JMRP(垃圾邮件报告程序)
  • SNDS:我订阅了,从未见过这里列出的任何内容。因此,如果您的电子邮件数量较少,请不要在此处显示任何内容
  • JMRP:这是一项服务,当用户将邮件标记为垃圾邮件时,该服务会向您发送电子邮件。我也没有从中获得任何有用的东西。
  • 确保您的DNS设置正确(MX记录,A记录,PTR记录)。这对我来说都是正确的,没有人可以指出我的配置存在缺陷。
  • 如果您打开案例,他们还会向您发送一个链接,以便将电子邮件的可传输性提高到Windows Live Hotmail"。你也可以在谷歌上找到这个,它可能会提供一些指示。
  • 如果您明确发送电子邮件广告系列,请添加一个选择退出链接(对我来说情况并非如此)
  • 即使目标地址的电子邮件地址列入白名单,您的邮件也可能会被默默地丢弃。这超出了所有逻辑。
  • 让他们发送电子邮件并回复也可能会收到您的电子邮件,尽管要求向您发送电子邮件以便您实际使用电子邮件看起来很笨拙。

基本上,过滤器尝试智能地"确定正常的邮件行为,并根据该行为采取行动。因此,通过改进邮件内容,您很有可能获得邮件。

总而言之,我只能建议不要使用hotmail。如果您是一家企业,不适合自己或客户。除非你总是想怀疑对方是否真的收到了邮件。有时您可能会打电话,但如果这是您网站的主要内容,他们永远不会得到您的回复,导致业务丢失。当然,这是用户的选择,但如果可以,请尝试说服他们使用他们拥有的其他邮件帐户,因为其他提供商都没有默默地删除邮件(或者至少我从来没有看来了。)

我希望这有助于其他人。