通过电子邮件为应用程序试用Application Messaging。我已经创建了我的SMTP服务器但现在缺少集中式传送机制。我可以很容易地创建一个适当的交付机制,但我正在尝试使用协议标准。我对HTTP,FTP或SOAP不感兴趣,只对邮件协议感兴趣。
我已经浏览了网络上的python示例,到目前为止还没有运气。我不想花费太多的时间和精力,因为它目前只是一项技术现场研究,看看电子邮件系统上的异步传递是否是应用程序之间通信的可行方法。我知道sendmail解决方案,我对此并不感兴趣,因为解决方案需要是一个完整的Python解决方案,尽可能使用“电池”,或者如果我真的也使用Twisted。
到目前为止,我所研究的唯一两个标准是IMAP和POP。我仍然无法相信在这个时代我们需要两个邮件发送和传递协议,如果有什么东西可以做到二合一(协议),我将非常乐意调查它。 / p>
经过进一步调查后,我认为唯一可行的选择是扭曲,任何帮助都会很好
更新 放弃POP / IMAP服务器,它的工作量太少,只需要很少的奖励。但是,我使用了一种“现成的”服务器解决方案,它将电子邮件作为IMAP4提供,并作为SMTP发送出去。现在我已经找到了这个,我将继续通过电子邮件调查应用服务。到目前为止,创建了一个应用程序,可以下载RSS源并以html格式向它们发送电子邮通过用Python编写的服务器应用程序过滤我感兴趣的内容的电子邮件。下一阶段是与服务器通信的DSL语言,有点像telnet通过电子邮件。应该很有趣。在多个应用程序之间的RPC over Email之后。
答案 0 :(得分:5)
编辑: 可以在此处找到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):http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol
答案 1 :(得分:2)
我写了一个简单的基于电子邮件的消息队列,用于应用程序通信。您可以在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 : Deferred Processing To Queues
答案 2 :(得分:1)
答案 3 :(得分:1)