pythonメール(163メールボックス)

1547 ワード

import smtplib
from email.mime.text import MIMEText
from email.header import Header

class SendEmail():
    def __init__(self,sender="",smtpserver='smtp.163.com',
                 username ="",
                 password=""):
        self.sender =sender
        self.smtp = smtplib.SMTP()
        self.smtp.connect(smtpserver)
        self.smtp.login( username,password)

    def send(self,email_data):
        if not isinstance(email_data,dict):
            raise TypeError("EMAIL DATA MUST BY DICT ")
        msg = MIMEText(email_data["Text"], 'plain', 'utf-8')  #      ‘utf-8',        
        msg['Subject'] = Header(email_data["Subject"], 'utf-8')
        msg['From'] = email_data["From"]
        msg['To'] = email_data["To"]
        self.smtp.sendmail(self.sender,email_data["To"] , msg.as_string())

    def __del__(self):
        
        self.smtp.close()

def test_send_email():
    email_data = {"Text":"test send emain","Subject":"test","From":"","To":""}
    se = SendEmail()
    se.send(email_data)

if __name__ == '__main__':
    test_send_email()

次のようになります.
sender:163メールアドレス
username:メールボックスsmtpユーザー名(デフォルトはメールボックスアドレス)
password:smtpサービス開通時に表示されるパスワード
msg[「Subject」:メールの件名を送信
msg["Text"]:メールの本文を送信
msg[「From」:メール送信先を示すフォーマット:Tim
msg["To"]:メール受信アドレス