你可能对发送电子邮件很熟悉,通过 Outlook、Thunderbird 或某个网站,如 Gmail或雅虎邮箱。遗憾的是,Python
没有像这些服务一样提供一个漂亮的图形用户界面。作为替代,你调用函数来执行 SMTP 的每个重要步骤,就像下面的交互式环境的例子。
注意 不要在 IDLE 中输入这个例子,因为smtp.example.com、bob@example.com、MY_ SECRET_PASSWORD 和
alice@example.com 只是占位符。这段代码仅仅勾勒出 Python 发送电子邮件的过程。
>>> import smtplib
>>> smtpObj = smtplib.SMTP('smtp.example.com', 587)
>>> smtpObj.ehlo()
(250, b'mx.example.com at your service, [216.172.148.131]\nSIZE 35882577\
n8BITMIME\nSTARTTLS\nENHANCEDSTATUSCODES\nCHUNKING')
>>> smtpObj.starttls()
(220, b'2.0.0 Ready to start TLS')
>>> smtpObj.login('bob@example.com', 'MY_SECRET_PASSWORD')
(235, b'2.7.0 Accepted')
>>> smtpObj.sendmail('bob@example.com', 'alice@example.com', 'Subject: So long.\nDear Alice,
so long and thanks for all the fish. Sincerely, Bob')
{}
>>> smtpObj.quit()
(221, b'2.0.0 closing connection ko10sm23097611pbd.52 - gsmtp')
在下面的小节中,我们将探讨每一步,用你的信息替换占位符,连接并登录到
SMTP 服务器,发送电子邮件,并从服务器断开连接。