2009-05-04 23 views

回答

0

Flickr已经发布了他们的方法来完成这个建立可伸缩网站的书。整个chapter 6致力于这个话题。如上所述,您不需要非标准的MTA。默认的MTA可以正常工作(sendmail,qmail,postfix,exim等)。你所要做的就是编辑/ etc/aliases。可以使用/ etc/aliases来设置邮箱以将所有电子邮件传递给脚本。

我强烈建议您使用reading through this chapter,因为它接下来将概述很多常见问题,包括解析附件,应对来自移动设备的电子邮件(通常包含坏/奇怪的标头),正确地执行授权等。

4

有两种方法可以做到这一点,因为我看到它:

首先,你可以使用现有的SMTP服务器/电子邮箱系统,在某个区间,拉从消息使用POP3或IMAP将邮件插入数据库/系统。

或者,您可以编写一个SMTP实现,它将接受进入的电子邮件并执行您的自定义逻辑以将数据放入数据库/系统而不是放入邮箱。这最终是一个更清洁的设计,其开销将会小得多。事实上,在那里可能有一个SMTP服务器实现,它允许你注入这种自定义逻辑(如果我能找到它,我将进行编辑)。

就我个人而言,我会选择第二个选项。这将使您对系统中发生的事情有更多的控制权,并且它将具有整体更清洁的设计。

祝你好运!

编辑:这不是PHP,但是JAMES从Apache是​​一个Java的邮件服务器,可以让你注入自定义邮件处理单元(称为mailets的)来处理邮件处理。您可以编写这样一个mailet,它将处理电子邮件并将更新放入数据库而不是邮箱。可能有其他项目实施这种设计,所以值得一看。

再次编辑: Ooo ...这是SourceForge上的开源php SMTP server。我不知道你可以注入自定义的逻辑,但你可以随时编辑源代码,并使它做你想做的事! (如果你坚持使用PHP)

+0

真棒,感谢您对“mailets”的编辑:) – mdcarter 2009-05-04 20:44:39

+0

如果您对此感兴趣,我还添加了一个链接到开放源代码的php SMTP服务器。 – dustyburwell 2009-05-04 20:47:17

1

有几种免费邮件服务器支持使用MySQL或任何其他数据库作为存储后端,并且只需要配置即可。如果你不习惯定制现有的邮件服务器或自己写邮件服务器,我会选择这个解决方案。它比使用POP3或IMAP与邮件服务器进行通信快几个数量级。

相关问题