超轻量级脚本,用于接收传入电子邮件并转发到脚本

超轻量级脚本,用于接收传入电子邮件并转发到脚本

我需要一个非常简单的守护程序脚本,用于接收发送到某个域名的所有电子邮件并将它们转发到脚本。我知道有 exim、qmail 或其他软件可以执行此操作,但我不想安装会影响主机性能的大型软件。

我有指向主机的域的 MX 记录;现在我需要一些守护进程侦听端口 25 并正确应答邮件标准通信(HELO 等),然后将邮件交给脚本。

我怎样才能做到这一点?


编辑:domain.com 将直接传入,我不需要该域拥有 POP 帐户或发送电子邮件;该域只会收到发送至 的电子邮件*@domain.com,我希望将所有电子邮件重定向到脚本。

如果可能的话我希望用 C 或 Perl 语言

答案1

Python标准库包含smtpd实现smtp服务器协议的模块。你应该能够用几行 python 来做你想做的事情。

以下是一些示例代码:

import smtpd
import asyncore

class CustomSMTPServer(smtpd.SMTPServer):

    def process_message(self, peer, mailfrom, rcpttos, data):
        print 'Receiving message from:', peer
        print 'Message addressed from:', mailfrom
        print 'Message addressed to  :', rcpttos
        print 'Message length        :', len(data)
        return

server = CustomSMTPServer(('127.0.0.1', 25), None)

asyncore.loop()

相关内容