用于人的SMTP客户端。

outbox的Python项目详细描述


这是您将看到的最简单的SMTP客户端。它是100%同步的…

用法

轻松为应用程序提供发件箱:

from outbox import Outbox, Email, Attachment

# io.StringIO for Python 3 folks
from StringIO import StringIO

attachments = [
    Attachment('kittens.jpg', fileobj=open('ducks.jpg', 'rb')),
    Attachment('my-transient-file.bin', fileobj=StringIO('some raw data')),
]

outbox = Outbox(username='username', password='password',
        server='server', port=1234, mode='SSL')

outbox.send(Email(subject='my subject', body='some nice sentiment',
        recipients=['nathan@getoffmalawn.com']), attachments=attachments)

# html email with attachments
outbox.send(Email(subject='my subject', html_body='<b>SOME REALLY NICE SENTIMENT</b>',
        recipients=['nathan@getoffmalawn.com']), attachments=attachments)

每次调用send()时,此方法都将登录到服务器。

或者,您可以使用发件箱作为上下文管理器:

with Outbox(username='username', password='password',
        server='server', port=1234, mode='SSL') as outbox:

    outbox.send(Email(subject='my subject', body='some nice sentiment',
            recipients=['nathan@getoffmalawn.com']), attachments=attachments)

    # html email with attachments
    outbox.send(Email(subject='my subject', html_body='<b>SOME REALLY NICE SENTIMENT</b>',
            recipients=['nathan@getoffmalawn.com']), attachments=attachments)

使用发件箱作为上下文管理器还有一个额外的好处,就是执行一次登录即可发送所有电子邮件。

安装

安装outbox.py很简单:

$ pip install outbox

更改历史记录

0.1.8(2014年6月24日)
  • 感谢高桥秀彦的以下贡献!
  • 添加了RFC2047样式编码支持。
  • 改进了对多部分消息的支持。
0.1.7(2014年6月24日)
  • 感谢Hideaki Takahashi提交了一份清单,该清单允许通过PIP再次安装发件箱(在0.1.6中中断)
0.1.6(2014年6月24日)
  • 添加了匿名发件箱(anonymousoutbox)类,该类用于连接到不执行身份验证的服务器。
  • 详细说明outbox.email的文档。
  • 修复了使用Python3(在dict上调用iteritems)时的错误。
  • 将项目移动到github。
0.1.5(2013年3月3日)
  • 感谢Peter Naudus的以下贡献!
  • 向发件箱类添加调试参数,以切换smtplib的调试。
  • 向email类添加了fields参数,以允许设置其他email字段。
  • 连接和断开现在已暴露。
  • 一些连接代码的内部清理。
0.1.4(2012年10月29日)
  • 处理将单个收件人作为字符串传递,而不是强制收件人成为列表。
  • 正确处理UTF8电子邮件。谢谢,张明远! 我怀疑我已经涵盖了每个用例,所以在构建电子邮件时可以传入要使用的字符集。
  • 在发件箱类中添加了一个sender_address方法,用于验证用户名不够好的情况。
0.1.3(2012年7月3日)
  • 使几行代码更容易理解。没有功能变化。
  • 更新了以我的名义而不是Kenneth Reitz持有版权的许可证。这是否意味着直到现在他还拥有图书馆的版权?我能换个驾照吗?我不确定。
0.1.2(2012年6月2日)
  • 使发件箱成为上下文管理器,因此它可以与with语句一起使用。 如示例中所述,这有一个额外的好处,即执行一次登录即可发送所有电子邮件,您应该使用WITH语句获得更好的性能。
  • 已删除附件的原始参数和文件路径参数。他们都请求指向一个类似文件的对象,所以这就是你现在所拥有的-一个名为fileobj
  • 的参数
  • 修复了尝试发送二进制附件时出现的恼人的编码错误。
  • 电子邮件对象不再具有类型的参数。相反,这里有bodyhtml_body,因此您可以发送包含html和纯文本正文的电子邮件。
0.1.1(2012年5月27日)
  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么clean glass fish管理控制台不工作?   java 3DES_ECB解密   classpath如何解决由以下原因引起的错误:java。lang.ClassNotFoundException   Junit 3.8中Junit 4的@RunWith注释的java等价物   获取URL时发生java Jsoup HTTP错误。进行申请后处理时,状态=403   使用href link,使用Javaservlet和hibernate从数据库中删除一行   从Get请求调用WebSocket的java   播放框架JavaRESTAPI示例   java将RxJava 1.1.5改编为反应堆堆芯3.1.0。M3   java在每个测试用例之后运行任务   Android上的java Google翻译API问题   JAVA木卫一。FileNotFoundException:从安卓下载GAE blob文件时   Java HttpClient:无法读取post请求中的json数据