如何通过电子邮件别名接收电子邮件并将其保存到数据库?

时间:2013-11-28 09:44:43

标签: python email exim

我有一个网络应用程序。让我们假设它的域名是example.com。所以,我需要做这件事。任何人都可以向我域中的任何电子邮件地址发送电子邮例如,发送到123@example.com,或发送到abc321@examle.com。我需要获取此消息,检测地址('123','abc321',...)并将此消息添加到数据库,或调用特殊的python脚本来解析消息。 所以,最后,我需要在数据库中存储:to-address,subject,message body,from address。

我会感激任何帮助。我不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

大多数优秀的电子邮件服务器都具有此功能。它被称为全能帐户,如果与某个用户帐户不匹配,发送到*@domain.com的所有电子邮件都将被转储。在您的情况下,设置一个用户帐户,并将其设置为全部捕获。

在电子邮件标题中,它会显示原始邮件的发送者,不确定邮件服务器中的邮件被重定向到谁。

如果你有兴趣失去一些睡眠,一些头发和一些理智,你可以使用awesome qmailrocks tutorial guides快速建立你自己的邮件服务器。只需在右侧选择您的平台即可。 Here's how you can setup a catchall,但如果你谷歌的话,会有更好的指南。您可以在任何地方轻松运行此服务器including a free tier AWS EC2 instance(如果您尚未用完初始配额)。

如果您不想实际设置和托管自己的电子邮件帐户,则可以向Google等5美元/月的人付费使用他们的Google Apps for Business(我也会这样做)。他们allow a catch-all account在那里设置。这里的主要好处是谷歌惊人的垃圾邮件过滤和庞大的基础设施基本上意味着你永远不会丢失信息。

最后一步是编写一个python脚本,该脚本以catch-all用户身份登录到此邮件服务器,并处理消息。这里有很多教程向您展示如何从Python连接到IMAP电子邮件服务器,所以我不打算详细说明。

玩得开心,不要对你正在解析的垃圾邮件数量感到惊讶。