后缀转发传入邮件mailin

我已经在端口25上运行的mail.example.com服务器上使用postfix和dovecot来设置smtp服务器。然后我还使用mail.example.com上的mailin ( http://mailin.io )设置了另一个smtp服务器服务器,但在端口10025上运行。

这mailin的目的是简单地parsing从postfix接收到的电子邮件,并通过webhooksparsing结果作为json。

由于后缀没有apiparsing邮件内容,所以这就是为什么我使用mailin。

在我的/etc/postfix/main.cf我添加这一行:

relay_domains = localhost:10025 ## this is the mailin smtp server running on port 10025 

我的maillog:

 [root@mailserver ~]# tail -f /var/log/maillog Dec 17 04:36:07 mailserver postfix/smtpd[6858]: connect from localhost[127.0.0.1] Dec 17 04:36:07 mailserver postfix/smtpd[6858]: 6E2C21848: client=localhost[127.0.0.1] Dec 17 04:36:07 mailserver postfix/cleanup[6868]: 6E2C21848: message-id=<[email protected]> Dec 17 04:36:07 mailserver postfix/qmgr[6386]: 6E2C21848: from=<[email protected]>, size=506, nrcpt=1 (queue active) Dec 17 04:36:07 mailserver postfix/smtpd[6858]: disconnect from localhost[127.0.0.1] Dec 17 04:36:07 mailserver dovecot: lda([email protected]): msgid=<[email protected]>: saved mail to INBOX Dec 17 04:36:07 mailserver postfix/pipe[6871]: 6E2C21848: to=<[email protected]>, relay=dovecot, delay=0.09, delays=0.06/0.01/0/0.02, dsn=2.0.0, status=sent (delivered via dovecot service) Dec 17 04:36:07 mailserver postfix/qmgr[6386]: 6E2C21848: removed 

正如我注意到,电子邮件成功发送,但mailin不起作用。

我的问题是,邮件如何接收/parsing传入的电子邮件,因为后缀是唯一一个谁会收到电子邮件?

有人可以解释如何正确地做到这一点?

已更新[12/17/2014]:postconf -n命令的输出

 alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 html_directory = no inet_interfaces = all inet_protocols = all mail_owner = postfix mailbox_command = /usr/lib/dovecot/deliver mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = localhost mynetworks_style = host myorigin = $myhostname newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES recipient_delimiter = + relay_domains = mysql:/etc/postfix/mysql_relay_domains.cf sample_directory = /usr/share/doc/postfix-2.6.6/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_mailbox_domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_transport = dovecot virtual_gid_maps = static:5000 virtual_uid_maps = static:5000 

免责声明:我假设你只想parsing邮件的邮件,电子邮件将不会交付给鸽友。

为此,请replacevirtual_transport参数

 virtual_transport = smtp:[127.0.0.1]:10025 

这就是它,而不是交付给鸽友,postfix将通过SMTP端口10025将邮件传递给mailin。


[UPDATE]

基于这个maillog

 Dec 18 mailserver postfix/smtpd[13147]: connect from mailserver.cebufreelancer.com[9.40.80.111] Dec 18 mailserver postfix/smtpd[13147]: 61C252F1F: client=mailserver.cebufreelancer.com[9.40.80.111] Dec 18 mailserver postfix/cleanup[13157]: 61C252F1F: message-id=<[email protected]> Dec 18 mailserver postfix/qmgr[13139]: 61C252F1F: from=<[email protected]>, size=523, nrcpt=1 (queue active) Dec 18 mailserver postfix/smtpd[13147]: disconnect from mailserver.cebufreelancer.com[9.40.80.111] Dec 18 mailserver postfix/smtp[13160]: 61C252F1F: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10025, delay=0.14, delays=0.05/0.04/0/0.04, dsn=4.1.8, status=deferred (host 127.0.0.1[127.0.0.1] said: 450 4.1.8 <[email protected]>: Recipient address rejected: Domain not found (in reply to RCPT TO command)) 

Postfix成功发送邮件给mailin。 那个错误

 Recipient address rejected: Domain not found 

来自mailin(实际上来自simplesmtp,一个SMTP库)。 请参阅github中的代码。

Mailin会在收到电子邮件时尝试parsing收件人域。 当我尝试从我的虚拟机parsing域cebufreelancer.com ,结果NXDOMAIN。 所以这就是为什么mailin报告错误。