«Эта статья участвовала в приказе о созыве Haowen, нажмите, чтобы просмотреть:Двойные заявки на внутреннюю и внешнюю стороны, призовой фонд в 20 000 юаней ждет вас, чтобы бросить вызов!"
Привет всем, я Лекс, Лекс, который любит издеваться над Суперменом.
Области специализации: разработка на python, проникновение в сетевую безопасность, управление доменом Windows, архитектура Exchange.
Сегодняшняя тема: скрипты Python реализуют такие функции, как отправка электронных писем, добавление вложений в электронные письма, а также чтение и получение электронных писем.
Содержит полный скрипт, [рекомендуемая коллекция]
Сегодня я познакомлю вас с этим, не входя в интерфейс почтового ящика.
Функции отправки электронных писем, добавления вложений и получения электронных писем реализованы с помощью кода Python.
Как показано ниже: Используйте почтовый ящик NetEase 126 для демонстрации.
Вы также можете добавить милые фотографии младшей сестры в качестве вложений.
первый эффект
1. Настройки почтового ящика
Во-первых, вам нужно настроить электронную почту и получить код авторизации на стороне электронной почты.
1. Сначала войдите в почтовый ящик веб-версии 126.
2. Откройте «Настройки» — интерфейс конфигурации POP3/SMTP/IMAP.
3. Добавьте код авторизации
Во-вторых, python отправляет почту
1. Установите почтовый модуль
pip install py-emails
2. Вызвать модуль
Внедрить модуль почтового ящика для настройки получателя, отправителя, кода авторизации и другой информации.
#引入smtplib模块
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
#配置邮箱信息
sender = 'pacersby@126.com' #发件人的地址
password = 'XXXXXXXXXXXX' #此处是我们刚刚在邮箱中获取的授权码
receivers = ['wangsicong@126.com', '1029925144@qq.com'] #邮件接受方邮箱地址,可以配置多个,实现群发
3. Установите содержимое электронной почты
#邮件内容设置
message = MIMEText('你好呀,王思聪~~~','plain','utf-8')
#邮件标题设置
message['Subject'] = '来自CSDN的问候'
#发件人信息
message['From'] = sender
#收件人信息
message['To'] = receivers[0]
#通过授权码,登录邮箱,并发送邮件
try:
server = smtplib.SMTP('smtp.126.com') #配置126邮箱的smtp服务器地址
server.login(sender,password)
server.sendmail(sender, receivers, message.as_string())
print('发送成功')
server.quit()
except smtplib.SMTPException as e:
print('error',e)
4. Добавьте вложения
Кроме того, когда мы отправляем электронные письма, нам часто нужно добавлять различные вложения. Python может сделать то же самое.
Таким образом, мы можем добавлять вложения в формате изображений, pdf, zip и т. д. через код.
#添加图片附件
imageFile = 'C:\\Users\\pacer\\Desktop\\img\\1.png'
imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile)
#添加pdf附件
pdfFile = 'C:\\Users\\pacer\\Desktop\\img\\1.pdf'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile)
#添加压缩文件附件
zipFile = 'C:\\Users\\pacer\\Desktop\\img\\1.zip'
zipApart = MIMEApplication(open(zipFile, 'rb').read())
zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile)
Три, питон читает почту
С помощью установленного нами кода авторизации войдите в учетную запись электронной почты, чтобы получить содержимое электронных писем, полученных учетной записью.
Сначала установите модуль zmail
pip install zmail
читать почту
server = zmail.server('pacersby@126.com','授权码')
mail = server.get_latest()
zmail.show(mail)
Эффект от получения почты следующий:
-------------------------
Subject 来自lex的python自动发送邮件
Id 4
From pacersby@126.com
To None
Date 2021-07-15 10:18:39+08:00
Content_text ['来自lex的python自动发送邮件']
Content_html []
Attachments
1.Name:C:\\Users\\lex\\Desktop\\img\\1.jpg Size:205133
2.Name:C:\\Users\\lex\\Desktop\\img\\1.pdf Size:434938
3.Name:C:\\Users\\lex\\Desktop\\img\\1.zip Size:1201666