2009-05-21 81 views
0

在Python中構建一個smtp客戶端。它可以發送郵件,並且還顯示郵件已經通過任何郵件服務收到,例如gmail!如何在Python中構建一個smtp客戶端?

+1

我想你會得到更好的答案,如果你在你的問題主體提供更多的細節/背景。 – 2009-05-21 10:08:01

回答

2

email創建郵件消息(可能帶有多部分附件)。

email軟件包是用於管理電子郵件消息(包括MIME和其他基於RFC 2822的消息文檔)的庫。

使用smtplib

smtplib模塊定義了可用於發送郵件到任何互聯網設備使用SMTP或ESMTP監聽守護SMTP客戶端會話對象發送郵件。

如果您有興趣瀏覽遠程郵箱(例如,查看您發送的郵件是否已到達),則需要通過已知協議訪問的郵件服務。一個流行的例子是imaplib模塊,實現了IMAP4 protocolIMAPsupported by gmail

這(imaplib)模塊定義在RFC 2060中定義三個類,IMAP4 IMAP4_SSL和IMAP4_stream,其封裝到IMAP4服務器的連接並實現IMAP4rev1客戶端協議的一個大的子集是向下兼容IMAP4(RFC 1730)服務器,但請注意,IMAP4中不支持STATUS命令。

1

如果您希望Python標準庫爲您完成工作(推薦!),請使用smtplib。要查看發送郵件是否正常工作,只需打開您的收件箱;)

如果您想自己實施協議(這是本作業?),請閱讀SMTP protocol並使用socket模塊。

0

取決於「收到」的含義。可以驗證消息「傳遞」給服務器,但是沒有100%可靠的保證,它實際上已經結束於郵箱。 smtplib將在某些情況下(例如未找到遠程終端報告用戶)拋出異常,但正如通常遠程端會接受郵件,然後過濾它或稍後發送反彈通知一樣。