1

如果在 XXXX@YYYY.ZZZ 上发送一封电子邮件,我想将电子邮件的内容放入数据库,但如何实现呢?我使用 MTA 的后缀。

4

2 回答 2

3

如果你一定要,编写一个程序来处理输入(比如 /usr/bin/your_program)并将其放在 /etc/aliases 中:

intended-local-address: "|/usr/bin/your_program"
于 2009-05-15T01:59:05.017 回答
1

我用过fetchmail。如果配置正确,它可以对远程 IMAP 服务器进行阻塞调用(它会一直挂起,直到收到邮件,这太酷了,没有主动轮询!)。它处理多种邮件协议。它将带有标题的电子邮件放入您选择的程序中(我使用了 python,它是内置的邮件解析库)。

我必须说我为这个解决方案感到自豪,因为它相对容易设置并且最终非常有效。

还有几件事值得注意:

  1. 连接超时或最终重置(数小时后,有时数周后)。我怀疑 IMAP 服务器正在重新启动。
  2. 不要尝试自己解析电子邮件。在调试了第 5 种发送邮件正文的方式后我放弃了,然后使用了现有的库。
  3. 投票结束后,在你再次投票之前做一个sleep 5或其他事情。我的邮件程序曾经与另一个邮件程序陷入无限循环,而 sleep 5 救了我。
于 2009-05-16T08:53:47.117 回答