天天看點

使用python發郵件

# -*- coding: UTF-8 -*-
 
import smtplib
import traceback
from email.mime.text import MIMEText
from email.utils import formataddr

class SendMail():

    def mail(self,subject,text):
        #self.my_sender='****@163.com'    # 發件人郵箱賬号
        #self.my_pass = 'mm12****3456'           # 發件人郵箱密碼(當時申請smtp給的密碼)
        #self.my_user='****@qq.com'      # 收件人郵箱賬号,我這邊發送給自己
        self.my_sender='*****@cdv.com'    # 發件人郵箱賬号
        self.my_pass = '****'           # 發件人郵箱密碼(當時申請smtp給的密碼)
        self.my_user='******@qq.com'      # 收件人郵箱賬号,我這邊發送給自己
        try:
            #msg = MIMEMultipart()
            #構造附件1
            #att1 = MIMEText(open('d:\\123.rar', 'rb').read(), 'base64', 'gb2312')
            #att1["Content-Type"] = 'application/octet-stream'
            #att1["Content-Disposition"] = 'attachment; filename="123.doc"'#這裡的filename可以任意寫,寫什麼名字,郵件中顯示什麼名字
            #msg.attach(att1)
            msg=MIMEText(text,'HTML','utf-8')
            msg['From']=formataddr([self.my_sender,self.my_sender])  # 括号裡的對應發件人郵箱昵稱、發件人郵箱賬号
            msg['To']=formataddr([self.my_user,self.my_user])              # 括号裡的對應收件人郵箱昵稱、收件人郵箱賬号
            msg['Subject']= subject                # 郵件的主題,也可以說是标題
            #server=smtplib.SMTP("smtp.163.com", 25)  # 發件人郵箱中的SMTP伺服器,端口是80
            server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)  # 發件人郵箱中的SMTP伺服器,端口是80
            server.login(self.my_sender, self.my_pass)  # 括号中對應的是發件人郵箱賬号、郵箱密碼
            server.sendmail(self.my_sender,[self.my_user,],msg.as_string())  # 括号中對應的是發件人郵箱賬号、收件人郵箱賬号、發送郵件
            server.quit()# 關閉連接配接
            print('發送成功')
        except Exception:# 如果 try 中的語句沒有執行
            print('發送失敗\t\n')
            traceback.print_exc()

         
if __name__ == '__main__':
    sendMail  = SendMail()
    sendMail.mail('測試資訊。。。。')           

複制