我很困惑acl_smtp_dkim 。 在我的主要configuration我有 # DKIM verification on rcpt. acl_smtp_dkim = acl_check_dkim domainlist require_dkim_signed_mail_domains = gmail.com:paypal.com dkim_verify_signers = $dkim_signers:+require_dkim_signed_mail_domains 而acl_check_dkim的定义如下: # check the DKIM signature for hosts that will definitely use it. deny message = DKIM required. $dkim_verify_status reason: '$dkim_verify_reason' sender_domains = +require_dkim_signed_mail_domains dkim_signers = +require_dkim_signed_mail_domains dkim_status = none:invalid:fail accept (我在最后一个accept动词之前确实有几行,但是我很满意他们的行为是正确的,所以我在这里错过了。) 混乱: +require_dkim_signed_mail_domains似乎不工作 – 似乎并没有扩大到这里。 为什么不? […]
我尝试使用以下ACL来限制发送邮件的限制:基于放置在文本文件中的用户: acl_check_limit: deny authenticated = * message = Lo sentimos, ha agotado el número permitido de envíos diarios set acl_c_msg_limit=${lookup{$sender_address}nwildlsearch{/etc/exim/send_limits}{yes}} ratelimit = 100 / 1h / strict / $authenticated_id 但是这对我不起作用,只有所有用户的整体限制,如果它正常工作,并不能findvariables:$ authenticated_id初始化任何帮助,欢迎感谢
假设我有一个具有多个专用IP地址和多个域的VPS: domain-a.com是11.11.11.11 ,mx是mail.domain-a.com domain-b.com是22.22.22.22 ,mx是mail.domain-b.com domain-c.com是33.33.33.33 ,mx是mail.domain-c.com domain-a.com是主域,服务器的主机名是server.domain-a.com 一切似乎都没有问题,直到我发现使用Exim 4.72发送的SMTP电子邮件反弹,失败或被标记为许多域的垃圾邮件。 经过一些挖掘,我发现有不匹配:来自每个域的电子邮件, HELO是从server.domain-a.com 。 例如,我在发送给gmail的电子邮件的标题中看到了这一点: Received: from server.domain-a.com (mail.domain-c.com. [33.33.33.33]) 而像https://www.mail-tester.com/这样的邮件testing服务告诉我: 您的反向DNS与您的发送网域不匹配。 您的IP地址33.33.33.33与域mail.domain-c.com相关联。 尽pipe如此,你的消息似乎是从server.domain-a.com发送的。 您可能希望将您的指针(PTRtypes)DNSlogging和您的服务器的主机名更改为相同的值。 这是检查的testing值: IP: 33.33.33.33 HELO: server.domain-a.com rDNS: mail.domain-c.com 但显然,我不能一次指向域a,b和c的server.domain-a.com ,无论如何,我不一定要domain-c.com通过domain-a.com发送 – 让我们假设他们是独立的企业,恰好在同一台服务器上托pipe。 我怎样才能configurationexim发送每个邮件从它自己的域,并从邮件服务器域HELO ,而不是服务器的主要主机名? 所以标题看起来像这样: Received: from mail.domain-c.com (mail.domain-c.com. [33.33.33.33]) testing结果报告如下: IP: 33.33.33.33 HELO: mail.domain-c.com rDNS: mail.domain-c.com 我发现IP地址的这个问题的解决scheme ,这就是我从不同的IP地址发送邮件,所以我确定必须有一个类似的域名解决scheme。 在我的研究中,我只能find这个解决scheme,但是它取决于cP *** l和W […]
我用dovecot和postgresql为虚拟用户configuration了exim4,而且我遇到了一个问题,我无法解决,情况是这样的: 我需要,当一个'localdomain'用户试图发送电子邮件到另一个'localdomain'用户或外国用户,需要authentication,否则拒绝操作。 实际上,我试图避免任何types的smtp开放中继。 其实smtp工作正常,只需要设置该要求,我找不到正确的方式来configurationexim正确的获取此行为(是acl或路由或传输规则?) 我怎样才能定义这个configuration? 例1 220 my-server ESMTP Exim 4.84 2016年3月31日星期四22:26:28 +0000 ehlo localhost 250-my-server Hello localhost [192.168.1.X] 250-SIZE 52428800 250-8BITMIME 250stream水 250-AUTH PLAINlogin 250帮助 邮件来自:[email protected] 250 OK rcpt to:[email protected] 250接受 数据 input消息,以“。”结尾。 在一条线上 这一定不会发生,用户“[email protected]”没有被authentication, 他一定不能发送任何消息,直到使用 'auth login'或'auth plain',因为是本地域的用户。 。 250 OK id = 1all3Q-0004l2-V4 例2 220 my-server ESMTP Exim 4.84 2016年3月31日星期四22:58:56 +0000 ehlo […]
在我的exim4安装中,我一直得到UTF-8编码和扩展的ANSI编码的mainlog,其中包含像“tämä”(正确使用UTF-8)和“t \ xe4 \ m \ xe4”(ANSI)的string。 后面的转义标记是单字节代码,为了清楚起见,转义完成(“字符”编码为74 EC 6D EC,以字节为单位)。 当然,今天的默认值是UTF-8,大部分线路都正常。 问题在于,这会混淆fail2ban,因为它期望日志文件以一致的方式进行编码。 但是,我不能selectANSI或UTF-8,因为这两种编码都存在于日志文件中。 我想知道在将stringlogging到/ var / log / exim / mainlog之前是否有办法过滤掉ANSI字符? 至于罪魁祸首,它可能是Windows机器上的一个古老的垃圾邮件软件或一些旧的群发邮件应用程序。 无论如何,大约35-45%的日志线似乎每天都被ANSI污染。
我使用Exim MTA。 我需要限制托pipe(灯)只发送电子邮件预定义列表“发件人:”每个用户的电子邮件,以防止大量的垃圾邮件,如果网站被黑。 用户使用php通过内置函数mail()发送邮件; 例如。 用户client1具有域example.org,并且在cms设置中configuration为从[email protected]发送电子邮件。 任何其他发件人从我需要拒绝这个用户。 但用户需要configuration多个发件人电子邮件的function。 如何在exim中实现这个? 目前我有简单的ACL来阻止这个ACL的整个用户的电子邮件: acl_check_not_smtp: deny condition = ${lookup{$sender_ident}lsearch{/etc/exim4/restricted_sender} {yes}} 和/ etc / exim4 / restricted_sender是简单的用户列表: client1 谢谢。
我的exim服务器被configuration为在连接时要求客户端证书。 我build立了一个ACL(在rcpt阶段)来logging或添加一个头信息。 证书检查的结果: warn encrypted = * ! verify = certificate #condition = ${if def:tls_in_peerdn {yes}{no}} # -> newer versions of exim use $tls_in_peerdn! condition = ${if def:tls_peerdn {yes}{no}} add_header = X-TLS-Client-Certificate: invalid (${tls_peerdn}) log_message = Invalid TLS client certificate presented (${tls_peerdn}). warn encrypted = * ! verify = certificate condition = ${if def:tls_peerdn {no}{yes}} […]
我在运行Exim的CentOS服务器上安装了openDKIM作为我的MTA。 我已经通过configuration和testing的关键和eveything似乎很好。 我创build了公钥和私钥,添加了DNS TXT条目并设置了KeyTable,SigningTable和TrustedHosts。 我也设置了opendkim.conf 。 但是,当我发送邮件,并使用一些像DKIMValidator.comtesting工具来检查结果,我得到的错误 OpenSSL error: data too large for key size 我不知道我在做什么错。 我已经通过互联网扫描寻求帮助,但没有find任何。 如果有人能帮助,将不胜感激。 编辑: 我已经从下面的dkimvalidator添加了testing结果。 从testing中,您可以看到exim如何发送数据和标题。 我不知道为什么exim用这些换行符打破关键。 我没有编辑生成的私钥。 我有一种感觉可能是失败的原因。 或者也许别的东西。 如果有人能想出来,将不胜感激: 来自GMail的testing: DKIM签名:v = 1; A = RSA-SHA256; C =轻松/放松; d = gmail.com; S = 20120113; H = MIME版本:从:date:消息ID:受试者:到; BH = lifSWpvlWkPq6fMhfFkb4eqAqh4c / ik5j2MtPtLKdUQ =; B = KAR6yadY27q / HPp9WAwU9CBR5DWByyuGIjt4z7VjufvcoeQosSUkAN2mFbuyl56oQZ […]
我目前正在使用中继服务(mailchannels和sendgrid)每个月发送大约20万条cPanel服务的消息,但是我只想路由有HOTMAIL收件人的消息(因为它们是我们中继的主要原因邮件……我们的邮件永远不会传递到邮箱使用我们的ips – GMAIL和所有其他提供商交付没有问题)。 这是我的configuration如下所示: SECTION: AUTH sendgrid_login: driver = plaintext public_name = LOGIN client_send = : USER : PW – Section: PREROUTERS send_via_sendgrid: driver = manualroute domains = ! +local_domains transport = sendgrid_smtp route_list = "* smtp.sendgrid.net::587 byname" host_find_failed = defer no_more – Section: TRANSPORTSTART sendgrid_smtp: driver = smtp hosts = smtp.sendgrid.net hosts_require_auth = smtp.sendgrid.net […]
我有exim4configuration为转发电子邮件的某些地址。 地址位于服务器是主MX的虚拟域上。 这些域上的其他地址被传递到本地邮箱,但configuration为转发的地址转到服务器不是MX的外部域,并且不应将邮件传递到本地邮箱。 例如,如果服务器是example.com的主MX,则应在本地为[email protected]发送邮件,但[email protected]应转发至[email protected] 。 虚拟域和地址的所有数据都存储在MySQL中。 服务器操作系统是Debian。 转发路由器的configuration(在/etc/exim4/conf.d/router/400_exim4-config_mysql_forward )如下所示: mysql_forward: debug_print = "R: forwarder(mysql) for $local_part@$domain" driver = redirect no_verify no_expn check_ancestor forbid_smtp_code = true skip_syntax_errors domains = +local_domains data = ${lookup mysql{SELECT forward_to FROM mail_forwarders WHERE domain='${quote_mysql:$domain}' AND localpart='${quote_mysql:$local_part}' AND active=1} {${sg{$value}{\\n}{, }}}} exim -bt [email protected]输出如下所示的内容: R: forwarder(mysql) for [email protected] R: dnslookup for [email protected] […]