我需要通过header_checks查找执行一个自定义的algorithm。 我有configurationsmtpd_sasl_authenticated_header = yes在标题中看到什么用户发送消息,例如: Received: from [0.0.0.0] (unknown [192.168.255.4]) (Authenticated sender: [email protected]) by smtp.mydomain.com (Postfix) with ESMTP id 08333374399 for <[email protected]>; Tue, 28 Oct 2008 10:45:37 -0400 (EDT) 我需要build立一个机制,将(Authenticated sender: [email protected])重写为(Authenticated sender: XXXXXX) …其中XXXXXX是电子邮件地址的md5sum(出于安全原因)。 我可以通过header_checks查找表执行此操作吗? 我知道这是可能的,通过外部守护进程(例如php或perl脚本)作为TCP或SOCKETMAP查找表types的服务器,但有没有一个更简单的机制来实现呢?
我发现: 提交的电子邮件已经正确签名(即与MUA的Outlook和Thunderbird一起发送的邮件) 命令行发送的电子邮件已正确签名 使用PHP发送的电子邮件 ,特别是PHPMailer(非smtp提交,普通PHP mail() ) 签名不正确。 我听说过phpMailDomainSigner,这是一种破解方式,如果可能的话,我想在顶部MTA / milter级别解决这个问题。 这里是: /etc/opendkim.conf # Log to syslog Syslog yes # Required to use local socket with MTAs that access the socket as a non- # privileged user (eg Postfix) #UMask 002 # dkim-milter (2.5.2.dfsg-1ubuntu1) hardy: # Disable new umask option by default (not needed since […]
我在Postfix中使用header_checks来重写我的头文件(对于由Outlook通过我的服务器发送的电子邮件)。 这是我想改变的头部的一部分: Received: from Raphasus (****.abo.wanadoo.fr [***.***.***.109]) by mail.********.com (Postfix) with ESMTPSA id 917***CE9 for <raph*****@hotmail.fr>; Thu, 31 Jul 2014 09:38:35 +0200 (CEST) 我想要做的是:只replaceFIRST LINE(带有一些个性化的信息),并追加最后2行。 我试过(在header_checks中): /^\s*(Received: from).*$(.*)/ REPLACE $1 my personalized text $2 它只有当我删除$ 2(所以它代替完整的收到:从我的文字),如果我把$ 2,它只是不会取代我的头。 我认为这部分是正确的: /^\s*(Received: from).*$ 它是select第一行或“Received:from”。 但是我怎样才能知道我的正则expression式后面的内容应该被认为是$ 2参数呢? 我到处search,找不到(查看POSIX语法,PERL语法(因为此文档说“使用传统的Perl语法,可以将匹配expression式中的子stringreplace为动作string”)) 我发现了一个有$ 1和$ 2参数的工作示例: /^\s*(Received: from)[^\n]*(.*)/ REPLACE $1 [127.0.0.1] (localhost [127.0.0.1])$2 但是我只是不知道什么是1美元,2美元是什么 […]
我想要postfix咨询一个简单的(bash / python)脚本,以便找出(virtual_alias_maps – style)在队列之前,不pipe收件人的地址是否合法。 例如,我想使用类似的邮件地址 [email protected] 如果$ EXIPRYDATE尚未通过,并且$ CHECKSUM通过,或者否则拒绝,则接受$ USER。 如果它简化了解决scheme,我可以这样做一个单一的,恒定的用户,所以后缀只需要从一些地址检查脚本观察真/假。 我对那些需要postfix首先接受邮件的解决scheme不感兴趣,如果收件人地址被发现无效(“队列后”),那么稍后会popup。 我需要postfix拒绝在最初的SMTP会话(“前队列”)。
我玩了/etc/aliases并收到同事的电子邮件。 我想把它放回他的邮箱。 有没有办法做到这一点干净? 我不想转移电子邮件,如果可能的话,如果所有的邮件信息可以保存(标题,IP路由等在完整的邮件正文),这将是很好的。 我使用Gmail作为客户端。 只有3封电子邮件,所以我可以在必要时手工做 PS:我有根访问邮件服务器
我查看虚拟别名时,在我的后缀/ mysql / dovecot / debian上有间歇性的查找错误…它发生在10%的外发电子邮件 Revelant日志的失败请求: Aug 28 12:17:43 ns212713 postfix/smtpd[17354]: connect from localhost.localdomain[127.0.0.1] Aug 28 12:17:43 ns212713 postfix/proxymap[17349]: connection established fd 128 Aug 28 12:17:43 ns212713 postfix/proxymap[17349]: master_notify: status 0 Aug 28 12:17:43 ns212713 postfix/proxymap[17349]: proxymap socket: wanted attribute: request Aug 28 12:17:43 ns212713 postfix/proxymap[17349]: input attribute name: request Aug 28 12:17:43 ns212713 […]
我有一个localhost运行的第三方应用程序尝试通过在同一台机器上通过SMTP的邮件发送邮件。 问题是,后缀似乎拒绝邮件给一些收件人: /var/log/mail Sep 1 00:05:35 myhost postfix/smtpd[20574]: connect from localhost[127.0.0.1] Sep 1 00:05:35 myhost postfix/smtpd[20574]: B70E59A050: client=localhost[127.0.0.1] Sep 1 00:05:35 myhost postfix/smtpd[20574]: lost connection after DATA (0 bytes) from localhost[127.0.0\ .1] 同时发送应用程序说: cannot send mail to recipient@… please check connectivity 这个错误只发生在一些收件人。 我检查了我的main.cf : mynetworks = 127.0.0.1/32, 192.76.247.2/32, 192.76.247.3/32, 192.76.247.4/32 smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination 有什么我错过了吗? 还是有其他设置来限制收件人? […]
我读了使用Postfix 2.6.6的relayhost 。 对于不同的发送者,可以使用具有不同凭证的不同的中继主机。 但是, 如何使用特定发件人 (在这种情况下,只有一个发件人) 直接发送, 而所有其他邮件则通过单个中继主机 /凭证(在本例中为Sendgrid )发送。 背景:所有的邮件都是事务处理的,并由运行Postfix的LAMP服务器上的不同域上的Web应用程序生成。 没有任何这些域的MXlogging指向这台服务器(他们主要是谷歌应用程序)。 除了一个以外的所有域,都成功使用sendmail> postfix> sendgrid>远程SMTP路由。 这一个域/应用程序需要直接发送( sendmail> postfix>远程SMTP )以实现更好的传送跟踪。 我不想通过SwiftMailer本身直接交付,因为它会在应用程序的邮件处理中引入延迟。 我希望SwiftMailer能够使用Swift_SendmailTransport并通过Postfix传递,然后我们将梳理Postfix日志中的交付失败。
我有我希望是一个相当正常的家庭后缀设置。 我使用fetchmail获取POP3邮件,通过/ usr / sbin / sendmail传递给postfix。 在postfix的master.cf中,我添加了一个spamassassin服务,并在smtp服务上设置了-o content_filter=spamassassin 。 我希望postfix使用spamassassin过滤收到的邮件,但由于某种原因,它不是这样做。 它正在过滤传出的邮件,虽然:这是一些来自/var/log/mail.log的示例: 接收(不过滤,为什么不?): Sep 19 01:40:05 fitpc postfix/local[31480]: 062CC2CE070F: to=<[email protected]>, orig_to=<mailandy>, relay=local, delay=0.43, delays=0.24/0.05/0/0.14, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION") 发送(过滤,不需要这个): Sep 19 01:07:16 fitpc postfix/pipe[31190]: 8CB252CE070E: to=<[email protected]>, relay=spamassassin, delay=0.48, delays=0.1/0.05/0/0.33, dsn=2.0.0, status=sent (delivered via spamassassin service) 难道是因为fetchmail使用/ usr / sbin / sendmail而不是通过networking与postfix交谈? […]
我的系统是Debian 7 aka用Postfix,courier和mysql安装。 信使运作良好,如果我发出 testsaslauthd -u user@domain -p password -f /var/spool/postfix/var/run/saslauthd/mux -s smtp 我得到了 0: OK "Success." 但是,如果我得到一个base64编码的用户名/密码 echo -ne '\000user@domain\000password' | openssl base64 并尝试使用SMTP会话中使用 helo localhost auth plain (output from above) 我总是得到一个 535 5.7.8 Error: authentication failed: authentication failure 在/ var / log / syslog中我find了 Sep 29 21:49:34 (hostname obfuscated) postfix/smtpd[15814]: warning: SASL authentication […]