smtplib Python發送郵件

smtplib發送郵件

郵件

# smtplib 郵件的發信動作
import smtplib
# email 郵件內容
from email.mime.text import MIMEText
from email.header import Header


class SendEMail(object):
    def __init__(self, send_config):
        # 開啓發信服務,SMTP_SSL 加密傳輸
        self.server = smtplib.SMTP_SSL()
        self.server.connect(send_config["smtp_server"], send_config["port"])
        # 登錄發信郵箱
        self.from_email = send_config["from_email"]
        self.server.login(self.from_email, send_config["password"])

    def send_email(self, send_message, to_addr, send_title):
        # 郵箱正文內容,第一個參數爲內容,第二個參數爲格式(plain 爲純文本),第三個參數爲編碼
        msg = MIMEText(send_message, 'plain', 'utf-8')
        # 郵件頭信息
        msg['From'] = Header(self.from_email)
        msg['To'] = Header(to_addr)
        msg['Subject'] = Header(send_title)  # 發送郵件主題
        # 發送郵件
        self.server.sendmail(self.from_email, to_addr, msg.as_string())
        # 關閉服務器
        self.server.quit()
        print("send mail success!")


if __name__ == '__main__':
    send_config = {"from_email": '發件人@163.com',  # 發送郵件
                   "password": '8fvDm9uiEzsGLkUB',         # 百度設置郵箱授權碼
                   "smtp_server": 'smtp.163.com',      # 發信服務器
                   "port": 465                             # 郵件端口
                   }
    se = SendEMail(send_config)
    send_title = 'mail head'
    send_message = 'alarms'  # 這裏設置的是純文本形式 plain
    # 收信方郵箱
    to_addr = '收件人@qq.com'
    se.send_email(send_message, to_addr, send_title)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章