有什么办法来执行SRS,或类似的使用Postfix?
当我收到来自[email protected]的邮件时,我将其转发给[email protected],但是GMail正在检查SPF,并发现我的服务器没有授权代表example.org发送邮件。 我想重写发件人的东西@ myserver,而离开作为[email protected]。
以下是从TimoRöhling安装postsrsd的步骤。 这些说明似乎适用于包括Ubuntu 14.04在内的许多Unix版本。
# Debian/Ubuntu preparations: sudo apt-get install cmake sysv-rc-conf # download and compile the software: cd ~ wget https://github.com/roehling/postsrsd/archive/master.zip unzip master cd postsrsd-master/ make sudo make install # or alternatively install binary from later Ubuntu repositories sudo apt-get install postsrsd # Add postfix configuration parameters for postsrsd: sudo postconf -e "sender_canonical_maps = tcp:127.0.0.1:10001" sudo postconf -e "sender_canonical_classes = envelope_sender" sudo postconf -e "recipient_canonical_maps = tcp:127.0.0.1:10002" sudo postconf -e "recipient_canonical_classes = envelope_recipient" # Add SRS daemon to startup (Red Hat 6/CentOS): sudo chkconfig postsrsd on # Add SRS daemon to startup (Debian/Ubuntu): sudo sysv-rc-conf postsrsd on # Start SRS daemon: sudo service postsrsd restart #Reload postfix: sudo service postfix reload
在这里有一个关于在Debian上使用Postfix设置SRS的2012教程: http : //blog.phusion.nl/2012/09/10/mail-in-2012-from-an-admins-perspective/
这是2013年的Ubuntu教程: http : //www.ameir.net/blog/archives/71-installing-srs-extensions-on-postfix-ubuntudebian.html
这里有一些想法,这将需要一些定制,以满足您的确切需求。 我发现的第一件事是Postfix似乎不喜欢做任何别名的地址(即virtual_alias_domain / virtual_alias_maps )。 但事实并非如此,因为实际上只要所有东西都得到正确的传递,这些地址是什么都没有关系。
所以,在Postfix的main.cf ,添加以下几行:
virtual_mailbox_domains = example.org # Feel free to give munger a better name, just update master.cf appropriately virtual_transport = munger:
接下来,你需要告诉Postfix究竟是什么意思。 添加以下内容(请参阅pipe道(8)以获取更多选项)。 因此,添加以下master.cf :
munger unix - nn - - pipe flags= user=nobody argv=/usr/bin/redirector
根据以上所述,任何发往example.org东西都会被发送到/usr/bin/redirector程序(或者任何你想要调用的程序)。 对于大多数正常的事情,你需要发送者/接收者信息的一些命令行参数(同样, pipe(8)有更多的细节),但是由于发送者和目标地址是固定的,所以命令行上不需要其他东西。
现在你只需要编写redirector程序。 这对我工作:
#!/bin/sh /usr/sbin/sendmail -bm -f 'something@myserver' '[email protected]'
这是一个普通的shell脚本(或者你select的语言),所以只要你喜欢就简单或复杂。
你最好忘记整个spf的东西,而不是使用dkim。
这里是描述SPF问题的好文章 。