alissa 发表于 2013-1-15 19:02:47

postfix配置rails接收邮件

用Rails和Postfix处理邮件接收的方法

这里写的是,Postfix的使用方法。

1.Postfix的安装

aptitude install postfix

2.处理邮件接收的代码写在app/models的下面。

class KaeruMailman < ActionMailer::Base
    def receive(email)

    end
end

3./etc/postfix/master.cf的最后,添加以下内容。

kaeruspoon-mailmanunix-       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
页: [1]
查看完整版本: postfix配置rails接收邮件