python學習筆記之電子郵件模塊smtplib

    在系統管理領域,我們常常用郵件來發送管理信息、業務質量報表等,方便運維人員第一時間瞭解業務的服務狀態。通過python的smtplib模塊來實現郵件的發送功能,模擬一個smtp客戶端,通過與smtp服務器交互來實現郵件發送的功能。

smtplib模塊的常用類與方法

  • SMTP.connect([host[,port]])方法,連接遠程smtp主機方法,host爲遠程主機地址,port爲遠程主機smtp端口,默認爲25,也可以直接使用host:port形式來表示,例如:SMTP.connect("smtp.qq.com","25")

  • SMTP.login(user, password)方法,遠程主機的校驗方法。

  • SMTP.sendmail(from_addr, to_addrs, msg, mail_options=[],rcpt_options=[])方法,實現郵件的發送功能,參數依次爲發件人、收件人、郵件內容,例如:SMTP.sendmail("[email protected]","[email protected]",body),其中body內容如下:

  • SMTP.starttls()方法,啓用TLS(安全傳輸)模式,所有SMTP指令都將加密傳輸。

  • SMTP.quit()方法,斷開與smtp服務器的連接。


注意:QQ郵箱需要生成授權碼。

wKiom1lcuVewxW5DAAIjEDZrGLQ934.png-wh_50


示例:

#!/usr/bin/env python

import smtplib

HOST = "smtp.qq.com"
SUBJECT = "Test email from python"
TO = "[email protected]"
FROM = "[email protected]"
test = "Just a test txt!"
BODY = "\r\n".join((
        "From: %s" %FROM,
        "To: %s" %TO,
        "Subject: %s" %SUBJECT,
        "",
        test))

server = smtplib.SMTP()
server.connect(HOST,"25")
server.starttls()
server.login("[email protected]","password")
server.sendmail(FROM,[TO],BODY)
server.quit()



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章