Articles of procmail

Postfix + procmail – 传递失败,因为“无法创build用户输出文件” – 在CentOS 6.2上

我证实我的后缀安装/中继设置工作。 现在我遇到了procmail问题。 我用下面的命令把它连接到postfix: mailbox_command = /usr/bin/procmail -f -a "$USER" 我没有在我的procmailconfiguration,但以下内容: LOGFILE=/var/procmailrc/log 我发送一封电子邮件给以前工作的收件人(在我附加procmail之前)。 现在它失败,错误: Apr 6 14:07:05 localhost postfix/qmgr[15194]: D0C3DFF6E1: from=<[email protected]>, size=938, nrcpt=1 (queue active) Apr 6 14:07:05 localhost postfix/local[1953]: D0C3DFF6E1: to=<[email protected]>, orig_to=<postmaster>, relay=local, delay=0.05, delays=0.02/0.01/0/0.02, dsn=5.2.0, status=bounced (can't create user output file. Command output: procmail: Couldn't create "/var/spool/mail/nobody" procmail: Couldn't read "//root" ) Apr 6 […]

使用procmail传递到标准输出和第二台服务器

我希望Postfix服务器将每条消息传递给某个传输器,并将其传递给另一个服务器。 在master.cf中,我有以下的传输: zarafa unix – nn – 10 pipe flags= user=vmail argv=/usr/bin/zarafa-dagent ${user} 因为我不能让Postfix交付给两个传输,我可能需要的是一个包装传输,使用procmail也许,传递给zarafa-dagent并中继到第二个服务器(不只是转发到一个地址; 转发到第二服务器)。 它也可以是一个脚本,调用sendmail或任何,但目前,我不知道如何进行。 像bcc_maps这样的东西不起作用,因为它不会产生corrent的X-Original-To和Delivered-To头文件。 它需要被发送到它作为原始服务器被中继到的服务器上的同一个收件人。 编辑:也许我应该澄清一些事情:在备份机器上,我不能有主要相同的邮箱; 只有一个盒子 如果我确实拥有所有的邮箱,那么该服务器的BCC就没问题了。 但是,因为在主要的电子邮件是使用自定义zarafa传输交付,我不能让辅助知道什么邮箱。 因此,我想中继到该服务器,该服务器也认为自己本地的问题。 这样,Delivered-To标题会告诉我原来的RCTP是什么。

Mutt与procmail整合

我使用以下procmailrc与fetchmail: PATH=/bin:/usr/bin:/usr/local/bin VERBOSE=off LOGFILE=$HOME/.procmaillog DEFAULT=$HOME/mail/ MAILDIR=$HOME/mail/ # Recipes below this comment: :0: * ^(To|From):.*[email protected] QObject/ :0: * ^(To|From|Reply-To):.*[email protected] BlackFlame/ 因此,它生成邮箱(与cur,tmp,新)文件夹~/mail和~/mail/QObject 。 现在,我用mutt,期待它显示我所有的信息,以及两个分开的文件夹。 但是我只看到默认邮箱。 这是我的muttrc: set realname = "illusionoflife" set from = "[email protected]" set use_from = yes set envelope_from ="yes" # Use a signature set signature="~/.signature" # Use msmtp rather than sendmail. Check that # the […]

Zimbra传出电子邮件转发/从内部域redirect到外部域

我怎样才能自动转发传出的电子邮件到不同的域名? 作为一个例子,用户发送一封电子邮件到[email protected],我希望确切的电子邮件在mydomain.com之外转发到[email protected]。 注意在fax.mydomain.com子域下的本地Zimbra服务器上没有帐户,前缀123456 不会是固定的,例如它将根据传真收件人的号码而变化。 我知道简单的事情就是让用户直接把电子邮件发送到@ example.com域名,但我宁愿让他们使用本地的fax.mydomain.com域名,并将电子邮件转发/redirect。 我不知道是否使用后缀传输,procmail或zimbra内的东西。 我认为,后缀传输需要我指定一个不同的SMTP服务器,例如otherdomain.com :[smtp.otherdomain.com] 与procmail,我想我需要使用pipe道,但我从来没有使用procmail。 我试图findZimbra内的function,我试图zmprov md fax.mydomain.com zimbraMailCatchAllForwardingAddress @example.com但电子邮件反弹。 我如何最好地实现这一目标?

postfix / procmail – 在procmailrc中防止重复的电子邮件

我有我的服务器上的后缀,我正在使用procmail和自定义的shell脚本处理传入的电子邮件为我的本地域/计算机上的用户帐户之一。 ([email protected]) 当我在电子邮件中只有一个收件人时,一切正常,但只要我在电子邮件列表中添加另一个收件人,我就会收到同样的信息两次! (例如:发送邮件到[email protected],[email protected]) main.cf没有特殊的configuration,但是: mailbox_command = /usr/bin/procmail -a "EXTENSION" 和.procmailrc如下: TO=`formail -xTo:` SUBJECT=`formail -xSubject: \ | expand | sed -e 's/^[ ]*//g' -e 's/[ ]*$//g'` SENDER=`formail -xFrom: \ | expand | sed -e 's/^[ ]*//g' -e 's/[ ]*$//g'` BODY=`formail -I "" \ | expand | sed -e '1,/^$/ d' -e '1,/^$/ d'` BODY=`formail -I […]

IMAP服务器无法使用fetchmail,procmail和dovecot阅读(打开)邮件

我正在尝试设置邮件服务器! 一切似乎都没有问题(经过一段时间),但是当我尝试使用IMAP服务器读取邮件时: 4月18日17:38:48 sd-84941 dovecot:imap(dlp):错误:打开(/data/maildir/dlp/cur/1460993401.13028_0.sd-84941:2)失败:Permission denied(euid = 1000(michael )egid = 1000(michael)missing + r perm:/data/maildir/dlp/cur/1460993401.13028_0.sd-84941:2 ,,我们不在第8组(邮件),dir拥有0:8 mode = 0777) 邮件在maildir文件夹中,但由于权限,我无法读取它们… -rw-rw —- 1 root root 2363 Apr 18 17:55 1460994924.16416_0.sd-84941 但是,如果chmod 777它工作(但我不能每次都手工做这个): -rwxrwxrwx 1 root root 2363 Apr 18 17:55 1460994924.16416_0.sd-84941:2, 发生了什么 ? 谁给文件许可? fetchmail,procmail或dovecot? —–编辑—— 感谢您的回答,@tripleee。 我会试着提供细节: 我已经安装了sendmail,procmail,fetchmail,dovecot和roundcube: Sendmail&Roundcube:默认安装。 Procmail: 在/ etc / procmailrc(我更喜欢全局的conf和用户的方式),我们有: MAILDIR=/data/mails/ […]

将variables传递给命令

也许愚蠢的问题,但我无法find任何地方。 我有一个variables在procmail(例如$ SUBJECT),我需要推它到一些shell命令。 就像是: #在/ etc / procmailrc中 SUBJECT =“^(XX – )?Subject:?” #在用户定义的procmailrc文件中 FORMAIL =的/ usr /斌/ FORMAIL :0 fhw | $ {FORMAIL} -A'X-Subject-Is:$ SUBJECT' 但它保存了一个头X-Subject-Is: $SUBJECT ,而不是主题行。有什么办法,如何将variables推送到shell命令?

如果(且仅当)来自列入白名单的发件人时,如何configurationprocmail将电子邮件传递给脚本?

我想通过procmail将来自特定发件人的电子邮件传递给shell脚本。 这是我的原始启动脚本: LOGFILE=/home/foouser/procmail-log VERBOSE=yes MAILDIR=/var/spool/mail/foouser DEFAULT=/var/spool/mail/foouser SHELL=/bin/sh :0 ! `/home/foouser/fooscript.sh` 这工作正常,但适用于所有消息foouser。 我想设置一个条件,所以如果邮件来自白名单上的特定人员,它只发送消息到脚本。 这可能吗?

procmail分配给邮件文件名的后缀是什么意思?

我正在运行一个Postfix服务器,我想知道邮件文件名所具有的后缀的含义。 例如: 1338839258.Vfe02I2a6f0M572204.example.com:2,S 1338840057.Vfe02I2a6f1M483134.example.com:2,S … 还有,分配它们的标准是什么? 我一直在search有关这个主题的信息,但我只find了procmail机制的参考。

如何configurationpostfix发送本地邮件到另一台本地服务器?

我有一对主要由Postfix,Procmail和Cyrus-IMAP组成的邮件服务器,它们都能正常工作。 IMAP服务器configuration在一个简单的主/副本对中。 所有“普通”邮件都被主人的Postfix所接受,后者通过Procmail处理,将其传送到在同一台服务器上运行的Cyrus-IMAP。 两台服务器都能够像这样运行,但只有主服务器实际上收到外部电子邮件。 目前,任何一个盒子上的本地帐户都通过本地Postfix发送邮件(例如,由cron作业生成),邮件本地发送到同一个盒子上的Cyrus-IMAP。 然而,赛勒斯的复制不喜欢直接在副本上发生的变化,所以我希望副本将其本地邮件传递给主服务器。 我看到了两个方法来实现这一点: 更改副本的本地传输以将邮件传递到主服务器上的Postfix 要么 更改副本的procmail以将邮件发送到主服务器上的Cyrus-IMAP。 还有第三种方式是副本服务器将所有东西都传递给主服务器(即内部和外部邮件),但似乎有些不必要。 我不需要改变处理外部邮件的方式 – 任何一个邮箱都可以通过本地Postfix发送外部邮件,然后外部中继。 我真正想要做的只是改变内部电子邮件在副本上的处理方式,以便将它们传送到主服务器,无论是Postfix还是IMAP服务器。 在postfix的master.cf中,现有的,工作的,本地传输的configuration: procmail-local unix – nn – – pipe flags=OR user=cyrus argv=/usr/bin/procmail -t -m RECIPIENT=${mailbox} SENDER=${sender} EXTENSION=${extension} /etc/procmailrc 在procmailrc中传递给Cyrus的现有工作,configuration: DELIVERMAIL="/usr/lib/cyrus/bin/deliver -r $SENDER -a $RECIPIENT $RECIPIENT