Skip to main content

Premièrement, préparer

Prenant 126 boîtes aux lettres comme exemple, avant le cryptage, nous devons activer le service SMTP







Après cela, une copie du code d'autorisation def __init__(self): # 初始化 self.smtp = smtplib.SMTP() # 连接邮箱服务器地址 self.smtp.connect('smtp.126.com') # 加入主题和附件,邮件体 self.email_body = MIMEMultipart('mixed') # 发件人地址及授权码 self.email_from_username = '**@126.com' self.email_from_password = '授权码'# 登录self.smtp.login(self.email_from_username, self.email_from_password)
est ajoutée manuellement, compte, code d'autorisation et adresse serveur utilisée pour se connecter à la boîte aux lettres de connexion
def generate_email_body(self, email_to_list, email_title, email_content, attchment_path, files): """ 组成邮件体 :param email_to_list:收件人列表 :param email_title:邮件标题 :param email_content:邮件正文内容 :param attchment_path:附件的路径 :param files:附件文件名列表 :return: """ self.email_body['Subject'] = email_title self.email_body['From'] = self.email_from_username self.email_body['To'] = ",".join(email_to_list) for file in files: file_path = attchment_path + '/' + file if os.path.isfile(file_path): # 构建一个附件对象 att = MIMEText(open(file_path, 'rb').read(), 'base64', 'utf-8') att["Content-Type"] = 'application/octet-stream' att.add_header("Content-Disposition", "attachment", filename=("gbk", file)) self.email_body.attach(att) text_plain = MIMEText(email_content, 'plain', 'utf-8') self.email_body.attach(text_plain)
Lundi, Mode 1: SMTPLIB
SMTPLIB est une bibliothèque dépendante avec Python, oui peut être saisie directement à l'aide de # 收件人列表email_to_list = ['收件人1地址','收件人2地址']# 发送邮件# 注意:此处必须同时指定发件人与收件人,否则会当作垃圾邮件处理掉self.smtp.sendmail(self.email_from_username, email_to_list, self.email_body.as_string())
avant, par compte de messagerie, code autorisé, l'adresse du serveur de boîtes aux lettres a initialisé un Instance SMTP, puis connecté
, ajoutez une liste de destinataires, des titres de messagerie, du contenu du courrier, des pièces jointes et des pièces jointes au corps de la lettre est défini ci-dessus def exit(self): """ 退出服务 :return: """ self.smtp.quit()

Utilisez l'objet Instance SMTP, envoyez un message à



après l'envoi d'un courrier électronique, le service d'échappement peut être

# 安装依赖库pip3 install zmail
III: III: Zmail

Création de butLe projet Zmail consiste à faciliter les messages, utilisez Zmail pour envoyer facilement, ajoutez facilement des adresses de serveur, des ports et des protocoles appropriés, ce qui peut facilement créer un objet MIME et un fichier de titre

class ZMailObject(object): def __init__(self): # 邮箱账号 self.username = '**@126.com' # 邮箱授权码 self.authorization_code = '授权码' # 构建一个邮箱服务对象 self.server = zmail.server(self.username, self.authorization_code)
Remarque: Zmail ne prend en charge que Python3, Ne prend pas en charge Python2
d'abord, installez la bibliothèque dépendante # 邮件主体mail_body = { 'subject': '测试报告', 'content_text': '这是一个测试报告', # 纯文本或者HTML内容 'attachments': ['./attachments/report.png'],}

, puis utilisez un compte de boîte aux lettres, autorisez le code pour créer un objet de service de boîte aux lettres # 收件人# 可以指定一个人,字符串;也可以是多个人,列表mail_to = "收件人1"# 发送邮件self.server.send_mail(mail_to, mail_body)


.

Ajouter des sujets de messagerie, le contenu du courrier, le chemin d'accessoires est fourni avec le dictionnaire, formant un corps de courrier


Enfin, la fonction Send_mail () sera appelée et le message peut être appelé. Envoyé à
# 安装依赖库pip3 install yagmail
Mercredi, les trois: Yagmail
Yagmail n'a besoin que de quelques lignes de code, vous pouvez obtenir une fonction de postage import yagmail# 连接服务器# 用户名、授权码、服务器地址yag_server = yagmail.SMTP(user='**@126.com', password='授权码', host='smtp.126.com') Simple et élégant plus que Zmail, Yagmail

En premier, installez la bibliothèque dépendante # 发送对象列表email_to = ['**@qq.com', ]email_title = '测试报告'email_content = "这是测试报告的具体内容"# 附件列表email_attachments = ['./attachments/report.png', ]# 发送邮件yag_server.send(email_to, email_title, email_content, email_attachments) après cela, connectez le serveur de boîtes aux lettres via un compte, un code d'autorisation et une adresse de la machine.Propriétaire, objet de service retourné , selon la fonction d'envoi (), envoyez le message après l'envoi du message envoyé, éteignez la connexion ]

Sujets

Catégories