为应用程序尝试通过电子邮件传递应用程序消息。我已经创建了SMTP服务器,但现在缺少了集中化的传递机制。我可以很容易地创建一个适当的传递机制,但我正在尝试使用协议标准。我对HTTP、FTP或SOAP不感兴趣,只对邮件协议感兴趣。
我已经在网络上寻找了python的例子,到目前为止还没有什么好的结果。我不想花太多的时间和精力在这个问题上,因为这是目前唯一的一项技术领域研究,看看通过电子邮件系统的异步传递是否是一种可行的应用程序之间通信的方法。我知道sendmail解决方案,我对此不感兴趣,因为这个解决方案需要一个完整的Python解决方案,在可能的情况下使用“电池”,或者如果我真的有电池的话,也可以使用Twisted。
到目前为止,我研究过的唯一两个标准是IMAP和POP。我仍然无法相信,在当今时代,我们需要两种邮件发送和发送协议,如果有什么东西可以做到“二合一”(即协议),我将非常乐意研究它。
经过进一步的调查,我认为唯一可行的选择是扭曲,对此任何帮助都将是伟大的。
update放弃了POP/IMAP,它的工作太多,报酬很少。但是,我使用了一个“现成的”服务器解决方案,它以IMAP4的形式提供电子邮件,并以SMTP的形式发送出去。现在我已经发现了这一点,我将继续我的调查申请服务通过电子邮件。到目前为止,创建了一个下载RSS提要并以html格式发送电子邮件的应用程序。用Python编写的服务器应用程序对我感兴趣的内容进行电子邮件过滤。下一阶段是DSL语言,用于与服务器进行通信,有点像telnet通过电子邮件进行通信。应该很有趣。在此之后,RPC在多个应用程序之间使用电子邮件。
发布于 2010-11-18 05:49:26
编辑:在这里可以找到一个简单的POP3服务器示例:http://code.activestate.com/recipes/534131-pypopper-python-pop3-server/ --您必须替换消息服务机制,但无论如何您都需要这样做。有关使用Twisted的IMAP服务器实现,请参见https://github.com/davglass/twimapd。
如果您需要电子邮件,那么您将查看SMTP、POP和IMAP。这就是电子邮件的定义。
实际上,对于传递来说,SMTP应该足够了;POP/IMAP是用于检索的,如果您的应用程序总是可以直接连接到其他应用程序的话,它就不太有用了。
如果您不需要特别使用电子邮件,您可能需要查看替代协议,例如XMPP (Jabber):协议。
发布于 2011-01-05 19:40:54
我编写了一个简单的基于电子邮件的消息队列,用于应用程序通信。您可以在这里找到详细信息,http://blog.bootstraptoday.com/2010/11/28/really-simple-python-message-queue/
基本思想是: 1.从smtpd.SMTPServer派生类。2.覆盖“process_message”方法。3.在“process_message”中启动一个线程。4.在线程函数内部,读取消息内容并执行任务。5.消息内容是简单的JSON对象。6.客户端代码简单。客户端只需向本地SMTP服务器发送“电子邮件”即可。将以JSON格式编码的任务参数作为此电子邮件的内容发送。所以客户端可以是一个简单的shell脚本。
总之,大约有40-50行python代码。
有点类似的想法,但更复杂的实现检查Lamson :将处理延迟到队列
https://stackoverflow.com/questions/4214800
复制相似问题