这里写的是,Postfix的使用方法。
1.Postfix的安装
aptitude install postfix
2.处理邮件接收的代码写在app/models的下面。
class KaeruMailman < ActionMailer::Base
def receive(email)
end
end
3./etc/postfix/master.cf的最后,添加以下内容。
kaeruspoon-mailman unix – n n – – pipe
flags= user=tsukasa argv=/usr/bin/ruby /var/www/rails/kaeruspoon/script/runner -e production KaeruMailman.receive(STDIN.read)
user设置为运行Rails的用户。KaeruMailman的recieve是用instance方法来定义,但是在这里用class方法来写。内部,instance随意创建,被称为recieve方法。
4./etc/postfix/main.cf的最后,添加以下内容。
transport_maps = hash:/etc/postfix/transport
virtual_mailbox_domains = kaeruspoon.net
用受理邮件接收的地址,进行用户认证的情况下,需要让local_recipient_maps无效(因为拒绝了UNIX用户之外的邮箱地址)。
local_recipient_maps =
5.在/etc/postfix/transport里(没有文件的话,创建一个),添加以下内容。
kaeruspoon.net kaeruspoon-mailman:
收到kaeruspoon.netdomain的邮件的时候,用master.cf设定的kaeruspoon-mailman的命令,执行这个命令。
为了让以上的设置有效,执行以下的命令。
postmap /etc/postfix/transport
这样就设置完成。核对/var/log/mail.info,确认一下收到的邮件是否正确的传到Rails。
参考URL
http://www.kaeruspoon.net/articles/466