如何在python中构建一个smtp客户端?

时间:2009-05-21 10:04:54

标签: python smtp

在python中构建一个smtp客户端。它可以发送邮件,并且还显示已通过任何邮件服务收到邮件,例如gmail !!

3 个答案:

答案 0 :(得分:2)

使用email创建邮件消息(可能包含多部分附件)。

  

email包是一个用于管理电子邮件的库,包括MIME和其他基于RFC 2822的邮件文档。

使用smtplib

发送邮件
  

smtplib模块定义了一个SMTP客户端会话对象,可用于通过SMTP或ESMTP侦听器守护程序将邮件发送到任何Internet计算机。

如果您对浏览远程邮箱感兴趣(例如,查看您发送的邮件是否已到达),则需要通过已知协议访问的邮件服务。一个流行的例子是imaplib模块,它实现了IMAP4 protocolIMAPsupported by gmail

  

此(imaplib)模块定义了三个类,IMAP4,IMAP4_SSL和IMAP4_stream,它们封装了与IMAP4服务器的连接,并实现了RFC 2060中定义的IMAP4rev1客户端协议的大部分。它是向后兼容的使用IMAP4(RFC 1730)服务器,但请注意IMAP4中不支持STATUS命令。

答案 1 :(得分:1)

如果您希望Python标准库为您完成工作(推荐!),请使用smtplib。要查看发送邮件是否有效,只需打开收件箱;)

如果您想自己实施协议(这是家庭作业吗?),请阅读SMTP protocol并使用例如socket模块。

答案 2 :(得分:0)

取决于“收到”的含义。可以验证消息“传递”到服务器,但没有100%可靠保证它实际上最终在邮箱中。 smtplib会在某些情况下抛出异常(例如远程终端报告用户未找到),但远程终端会接受邮件,然后过滤它或稍后发送退回通知。