SMTP 和 XMPP 部署/工作流程

Posted

技术标签:

【中文标题】SMTP 和 XMPP 部署/工作流程【英文标题】:SMTP and XMPP deployment/workflow 【发布时间】:2009-10-12 02:27:04 【问题描述】:

我正在开发一个包含 XMPP 机器人和自定义 SMTP 服务器(主要是这些服务处理命令和回复)的网站。我想建立一个系统,我可以在其中进行本地开发,将更改推送到登台服务器,最后推送到生产系统。 (基本上我目前正在实时服务器上开发。)

我正在使用 python,并且正在阅读一些有关 fabric 的内容,但我遇到了一个心理障碍。

我正在使用 sqlalchemy-migrate 来管理数据库版本并为主机设置基本的 DNS 内容。此外,我有一个我目前正在开发的库,这两个服务都使用(在我的全局站点包目录中)。在我改变任何东西后我部署这个鸡蛋。理想情况下,这也是可部署的,但仅适用于正确的版本。我需要两个版本,stage-lib 和 live-lib 吗?用python鸡蛋可以吗?

我是否需要另一台主机充当这些服务的临时服务器?或者有没有办法告诉 DNS something@staging.myhost.com 转到了不同于 25 的端口?

我现在有一个 fabfile,里面有很多方法,比如 stage_smtp、stage_xmpp、live_smtp、live_xmpp。

【问题讨论】:

【参考方案1】:

部分答案:DNS 无法告诉您连接到非标准 SMTP 端口,即使有 SRV 记录也是如此。 (XMPP 可以。)

因此,要发送电子邮件,您必须执行以下操作:

import smtplib
server = smtplib.SMTP('localhost:2525')
server.sendmail(fromaddr, toaddrs, msg)
server.quit()

【讨论】:

以上是关于SMTP 和 XMPP 部署/工作流程的主要内容,如果未能解决你的问题,请参考以下文章

XMPP 协议工作流程具体解释

XMPP.php 类不工作

Android 文件传输无法通过 XMPP 和 OpenFire 工作

xmpp 与工作组

XMPP 聊天服务器未在 iOS 设备上连接。在模拟器上完美工作

aSmack XMPP 库不工作