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