pythonメール送信プロセスの完全な実装

3582 ワード

最近モニタリングプログラムを書く必要があり、結果をメールで通知する必要がある.ここでは完全な実施過程を整理する.最初のステップは、もちろんメールを送信するためのメールボックスを用意しておきました.163メールボックスにメールアドレスを登録しました.ここはクライアントでメールを送信するために、登録したメールボックスを設定する必要があります.163メールボックスは簡単に設定できます.ページ側がメールボックスのホームページに登録した後、設定オプションをクリックした後、ドロップダウンメニューでPOP 3/SMTP/IMP.をクリックすると、左側のページにはクライアント認証パスワードの欄があります.この欄をクリックすると、ページの右側にクライアント認証パスワードが設定され、デフォルトでは閉じられます.プログラムでメールを送信する必要があるため、プログラム自体がクライアントとされています.授権コードを設定させます(この授権コードはプログラムで使用されています).その説明に従って、設定が終わったら、いいです.これでこのメールボックスはプログラムの中で第2歩を操作することができて、プログラム化はここでpythonを利用して実現して、もちろん他の言語で操作することができて、必要に応じて相応の内容を入力すればいいです
# coding: utf-8
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
sender = '[email protected]'
receiver = list()#     
receiver.append('[email protected]')
copyReceive = list()#     
copyReceive.append(sender)#           
username = '[email protected]'#       
password = '****'#    
mailall=MIMEMultipart()
mailall['Subject'] = "      " #       ,        
mailall['From'] = sender #     
mailall['To'] = ';'.join(receiver) #     ,          ;  
mailall['CC'] = ';'.join(copyReceive)  #    
mailcontent = '      '
mailall.attach(MIMEText(mailcontent, 'plain', 'utf-8'))
mailAttach = '        '
contype = 'application/octet-stream'
maintype, subtype = contype.split('/', 1)
filename = '    .txt'#        
attfile = MIMEBase(maintype, subtype)
attfile.set_payload(open(filename, 'rb').read())
attfile.add_header('Content-Disposition', 'attachment',filename=('utf-8', '', filename))#         ,       
mailall.attach(attfile)
fullmailtext = mailall.as_string()
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver+copyReceive, fullmailtext)#                            
smtp.quit()