Articles of smtp

Exim重试是基于消息而不是基于主机的? 为什么

从我所了解的exim重试应该是基于HOST,而不是基于消息。 这似乎对我有意义。 如果一台主机的服务器超负荷,或者告诉你“延迟发送消息”,那么推迟几个小时的消息似乎是不好的forms,但是要继续用服务器发送去往该主机的所有其他消息(即如果雅虎说“停止”,你应该停止所有的雅虎邮件!不只是继续尝试他们,并延迟他们的服务器告诉你一遍又一遍的停止!)。 从我读到的这个Exim应该如何工作,但是: 我的重试规则(对于“大主人”,也就是当他们推迟或阻止时最受伤害的人),我们使用:每5小时持续4天): \ N ^ [^ @] + @雅虎。\ N * F,4天,5小时; \ N ^ [^ @] + @ rogers。\ N * F,4d,5h; \ N ^ [^ @] + @ hotmail。\ N * F,4d,5h; 检查exinext的结果: 运输:mx-rogers.mail.am0.yahoodns.net [98.139.214.154/208.83.209.44]:1W1Lmv -0004iy-IL错误-45:来自远程邮件服务器的SMTP错误:MAIL FROM:SIZE = 13119:host mx-rogers.mail.am0.yahoodns.net [98.139.214。 154]:421 4。 第一次失败:09-Jan-2014 15:12:45 最后尝试:09-Jan-2014 15:12:45 接下来尝试在:09-Jan-2014 20:12:45 运输:mx-rogers.mail.am0.yahoodns.net […]

服务在OpenSSL上closures传输

我正试图通过OpenSSL发送电子邮件,如下所示: Client > openssl s_client -crlf -connect smtp.mail.yahoo.com:465 SERVER > 220 smtp.mail.yahoo.com ESMTP ready Client > HELO localhost SERVER > 250 smtp.mail.yahoo.com Client > auth login SERVER > 334 VXNlcm5hbWU6 Client > aC5rYW1yYXZh SERVER > 334 UGFzc3dvcmQ6 Client > bXlQYXNz // It's not my real password 🙂 SERVER > 235 2.0.0 OK Client > MAIL […]

Postfix After-Queue内容filter,高级filter不起作用

我按照postfix网站上有关如何设置内容filter的说明 ,我简单的举了一个例子,运行得相当快,但经过长时间的努力,我无法使高级filter工作。 我在示例中设置了一切,smtp在端口25上侦听未经过滤的消息,它具有一个filter设置为将消息传递到调用filter脚本的端口10025,另一个smtp侦听器在端口10026上过滤消息。 在简单的示例中,脚本是消息stream中的最后一个停止,它通过标准input获取消息,并使用sendmail重新执行它。 在先进的例子中,我似乎没有得到消息,似乎不能传递。 我成功地设法返回:'550内容被拒绝'的回应。 我想我的问题是脚本如何接收邮件正文,它是如何返回到邮件队列? 我怎样才能使这一切工作? main.conf: content_filter = scan:localhost:10025 master.conf: scan unix – – n – 10 smtp -o smtp_send_xforward_command=yes -o disable_mime_output_conversion=yes -o smtp_generic_maps= localhost:10025 inet nnn – 10 spawn user=filter argv=/home/omri/filter.sh localhost 10026 localhost:10026 inet n – n – 10 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= […]

Postfix允许经过SASLauthentication的用户从任何IP地址发送

据我所知,我需要在端口25 SMTP接收电子邮件,但我不希望这是一个中继端口。 相反,我将端口587用于注册(SASLauthentication)的用户从任何IP地址,通过我的服务器,以及任何电子邮件服务器(如GMail,雅虎)中继电子邮件。 我已经build立了Postfix来接收电子邮件,并对用户进行身份validation,但是我对25和587端口之间的区别以及如何使用端口接收和中继之间的区别感到十分困惑。 这是我的main.cf目前的相关部分。 myhostname = mx.example.com mydomain = example.com #myorigin = $mydomain mydestination = localhost localhost.localdomain mynetworks_style = host smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, # reject_unauth_destination is not needed here if the mail # relay policy is specified under smtpd_relay_restrictions # (available with Postfix 2.10 and […]

当我不知道下游MTA的主机名(只有IP)时,如何在sendmail中强制执行TLS?

我正在运行SendMail 8.14,并有一些自定义静态路由发送到某些域。 这些域是“内部的”,但不是由我直接pipe理。 这是/etc/mail/mailertable的一个例子: fooexample.com esmtp:[1.1.1.1]:[2.2.2.2] 这里的想法是,我总是想尝试发送到1.1.1.1首先,如果主要不可用,只发送做2.2.2.2。 这很好。 它甚至使用机会主义的TLS。 呜呼。 我现在想发送到这个域时强制/要求 STARTTLSencryption。 这样,如果我发送到1.1.1.1,他们以某种方式没有TLS,我不会让消息通过。 我在过去已经实施了这个外部域名政策,并且历史上只是把它添加到/etc/mail/access : TLS_Clt:exampledomainname.com ENCR:112 (其中examplehosthost.com是系统MX / Alogging主机名的一部分 – 不一定是电子邮件域…因为电子邮件现在可以由云服务处理)。 Annnnnyway,我不知道这是否适用于我的新场景,因为我正在使用静态路由,而不是parsingMX / Alogging(这是我认为TLS_Clt最终看的。 所以我的问题是: 1) TLS_Clt究竟在匹配模式中寻找什么,如果我指定一个静态路由,它是如何validation的? 2)我可以简单地添加TLS_Clt:fooexample.com ENCR:112 ? 或者应该是这样的 TLS_Clt:1.1.1.1 ENCR:112 TLS_Clt:2.2.2.2 ENCR:112 谢谢。

即使“smtp_tls_security_level = fingerprint”,postfix仍然抱怨“证书validation失败”

我试图使用Postfix(RHEL6上的版本2.6.6)通过内部networking上的邮件中继来连接和发送邮件。 我想在端口25上连接STARTTLS(端口465在此服务器上不可用)。 邮件中继使用自签名的SSL / TLS证书,因此我需要使用证书颁发机构来跳过证书validation。 我发现smtp_tls_security_level = fingerprint ,它不检查信任链,到期date等,而是使用证书指纹进行validation。 我认为这是一个完美的解决scheme,但是当我尝试发送电子邮件时,我仍然在/var/log/maillog发现错误,说postfix/smtp[15182]: certificate verification failed for xxxxxxxxxxxx[zz.zz.zz.zz]:25: untrusted issuer 。 我认为fingerprint安全级别的要点是跳过证书validation。 我误解了这个选项的意思吗? 还有什么我需要configuration? 以下是main.cf中的相关行: relayhost = [xxx.xxx.xxx] smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl-passwords smtp_sasl_security_options= smtp_generic_maps = hash:/etc/postfix/generic smtp_use_tls = yes smtp_tls_security_level = fingerprint smtp_tls_fingerprint_digest = sha1 # fingerprint changed for ServerFault. just an example. smtp_tls_fingerprint_cert_match = c1:d3:54:12:00:r0:ef:fa:42:48:10:ff:ac:1e:75:13:dd:ad:af:3e […]

Postfix的SMTP服务器获取“550请求的邮件操作没有采取:无效的IP”

我有一个名为smtp-ca.mdpi.com的SMTP服务器,当发送电子邮件到一些特定的中文电子邮件域时,我回来了: 550 Requested mail action not taken: Invalid IP<64.15.147.140> (in reply to end of DATA command)) 我在域的TXT中设置了一个SPF。 rDSN工作正常。 任何想法为什么发生这种情况 先谢谢你。 编辑:这是postconf -nconfiguration alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix inet_interfaces = 127.0.0.1 10.10.0.10 local_transport = error:local delivery is disabled mailbox_size_limit = 0 message_size_limit = 102400000 myhostname = smtp-ca.mdpi.com mynetworks = […]

设置域名不接受电子邮件的正确方法是什么?

RFC 5321秒 5指出: SMTP客户端必须查找MXlogging; 如果不存在域的MXlogging,则查找A资源logging(RR),如果存在这样的logging,则将其视为MXlogging; 如果MXlogging存在,则客户端不得使用A RR。 那么,如果我只想设置一个只有SSH访问权限的域,并且明确地不接受电子邮件呢? 目前我已经设置了一个Alogging到它的IP地址,MX设置为invalid. 。 因为如果我没有设置MXlogging,那么客户端可能会parsing为Alogging并在那里连接到它。 但是,如果我设置了无效域的MXlogging,如invalid. ,那么客户端将不会使用Alogging,并且MXlogging不会被parsing为任何内容,所以它不会影响其他服务器。 有没有适当的方法来做到这一点? 这不是OMGZ的问题,垃圾邮件即将到来,我需要做什么。 然而,“没有”是一个完美的答案,只要实际上没有规定的DNS,允许你明确地说“没有为这个域configuration的邮件”。

后缀放弃或更改基于另一个标题行的消息ID标头

我想要更改Message-ID头或更好,丢弃它。 我知道每个人都会问“你为什么要这么做?” 因为我知道这听起来很奇怪,甚至写它。 那么我正在开发一个系统,以EML格式保存传入的电子邮件,更改并发送给用户,有时用户可以请求将原始EML发送给他/她。 问题是,当我重新发送EML时,它具有相同的Message-ID头,导致交换服务器丢弃重发。 当然,我希望通过postfix有一些select,否则我将需要parsing和更改EML,但我宁愿不这样做。 我试图做到这一点与“header_checks”,它的工作原理,但我需要能够做到这一点有条件地,这意味着只有在特定的场合,我可以通过查看其他标题,我想删除消息ID。

从可能被列入黑名单的云IP中可靠地发送less量邮件

所以你启动一个新的云服务器。 只有发现其知识产权被黑名单上的所有者的不当行为。 如何确保您的邮件以适中的价格交付? 背景:我为每个客户提供他们自己的云服务器。 他们用它每天平均发送20封邮件给他们的客户,使用他们自己的域名。 我有几百个客户/服务器,我打算有更多的;) 我已经看过了Sendgrid,Mandril,Amazon SES,Mailjet,Mailgun,但他们都专注于大型营销活动,而不是像我的客户偶尔的邮件发件人。 例如,对于SendGrid,我可以为每个客户创build(通过API)“子用户”,但是如果我的客户想要摆脱Gmail / Outlook中令人讨厌的“via sendgrid”头(他们想要),他们需要支付$ 20 /月/域。 发送<100邮件似乎相当昂贵。 另外这是一个复杂的过程,这将是每个数百个域所需要的。 所以我想要的是一个基本的SMTP中继服务,这将有一定的可靠的价格可靠地提供我的小容量的邮件。 它应该支持细分,也就是说,如果一个客户以某种方式发送垃圾邮件,他应该被阻止,但不应该影响我的其他客户。 没有我的客户的奖励点通过复杂的域validation程序(即非DKIM)。 你是怎么处理这个问题的? TIA!