Python 3はメール送信を実現

11477 ワード

1、簡単な紹介
日常の仕事では、定例化されたタスクに遭遇したり、健康状態を監視したりする必要があります.この場合、自動的にメールを送る方法を選択することができます.ちょうど最近使っているので、まとめてみます.
2、python 3実装
# =============================================================
# !/usr/bin/python
# -*- coding=utf-8 -*-
# Name:         email
# Description:  Python3         
# Author:       
# Date:         2020/4/18
# Mail:         
# =============================================================


import smtplib
from email.utils import formatdate
from email.header import Header
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart


username = "user_name"  #       
from_addr = username + "@foxmail.com"  #      
password = "12345678"  #      

smtp_addr = "xx.xx.com"  #      

#     ,     ,     list( Python2   )
to_addrs = ['[email protected]', '[email protected]', '[email protected]']


def message_template1():  #       -  1
    # --------------------      --------------------------
    mail_msg = """
    

Python ...

これはjdリンクです

"""
message = MIMEText(mail_msg, 'html', 'utf-8') message['Subject'] = Header('Python SMTP ', 'utf-8') # message['From'] = Header(username, 'utf-8') # , message['To'] = Header('; '.join(to_addrs), 'utf-8') # , message['Date'] = formatdate(localtime=True) return message def message_template2(): # - 2 # -------------------- -------------------------- mail_msg = """

Python ...

これはjdリンクです

"""
message = MIMEMultipart('alternative') text_html = MIMEText(mail_msg, 'html', 'utf-8') message['To'] = ';'.join(to_addrs) message['Date'] = formatdate(localtime=True) message['Subject'] = 'Python SMTP ' message.add_header('reply-to', from_addr) # , message.add_header('from', username + " + from_addr + ">") # message.attach(text_html) return message def send_email_(): message = message_template1() message = message_template2() try: smtpObj = smtplib.SMTP() smtpObj.connect(host=smtp_addr) smtpObj.login(username, password) smtpObj.sendmail(from_addr, to_addrs, message.as_string()) smtpObj.quit() print(" ") except smtplib.SMTPException as e: print(repr(e)) print("Error: ") if __name__ == '__main__': send_email_()

学习を総括して、问题あるいは不当なところがあって、批判して指摘することができて、ありがとうございます.