84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Detaillierte Erklärung der Python-Grundlagen: Sehr detaillierte Codebeispiele für E-Mails. Sie können darauf zurückgreifen.
1. Die Python-Standardbibliothek bietet smtplib wird verwendet, um das SMTP-Protokoll zum Versenden von E-Mails zu implementieren. Die Standardbibliothek stellt auch das E-Mail-Modul bereit, das uns beim Erstellen von E-Mail-Formaten unterstützt. SMTP (Simple Mail Transfer Protocol) ist eine Reihe von Regeln für die Übertragung von E-Mails von einer Quelladresse an eine Zieladresse, die zur Steuerung der Übertragungsmethode von Briefen verwendet werden.QQ-Mailbox-Passwort (Autorisierungscode) erhalten
2. E-Mails im Nur-Text-Format senden
Der Code lautet wie folgt:
import smtplib from email.mime.text import MIMEText from email.header import Header # 邮箱用户名 sender = 'dad@qq.com'(输入你的邮箱) # 邮箱密码(部分邮箱为授权码) password = '123456'(输入你的密码) # 收件人邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发 receiver = ['baby@qq.com', ](输入你要发送人的邮箱) # 邮件正文 text = 'Hello,baby' message = MIMEText(text, 'plain', 'utf-8') # 发件人显式的名字 message['From'] = Header('拿头来坚持', 'utf-8') # 收件人显式的名字 message['To'] = Header('baby', 'utf-8') # 邮件标题 message['Subject'] = '爸爸来信,请接收!' try: # 使用QQ企业邮箱服务器发送 smtp = smtplib.SMTP('smtp.qq.com') # 登录 smtp.login(sender, password) # 发送 smtp.sendmail(sender, receiver, message.as_string()) print('邮件发送成功!') # 退出服务器 smtp.quit() except smtplib.SMTPException as e: print('Error!邮件发送失败!', e)
E-Mails im Nur-Text-Format senden Ergebnisse:
3. Senden Sie eine E-Mail im HTML-Format. Der Code lautet wie folgt:
import smtplib from email.mime.text import MIMEText from email.header import Header # 邮箱用户名 sender = 'dad@qq.com'(输入你的邮箱) # 邮箱密码(部分邮箱为授权码) password = '123456'(输入你的密码) # 收件人邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发 receiver = ['baby@qq.com', ](输入你要发送人的邮箱) # 邮件正文 msg = ''' Life goes on, learning goes on
Der Code lautet wie folgt:
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header # 邮箱用户名 sender = 'dad@qq.com'(输入你的邮箱) # 邮箱密码(部分邮箱为授权码) password = '123456'(输入你的密码) # 收件人邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发 receiver = ['baby@qq.com', ](输入你要发送人的邮箱) # 指定消息体使用复合类型 message = MIMEMultipart() # 发件人显式的名字 message['From'] = Header('拿头来坚持', 'utf-8') # 收件人显式的名字 message['To'] = Header('baby', 'utf-8') # 邮件标题 message['Subject'] = '爸爸来信,请接收!' # 邮件正文 msg = ''' Life goes on, learning goes on
Der Code lautet wie folgt:
import smtplib from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email.header import Header # 邮箱用户名 sender = 'dad@qq.com'(输入你的邮箱) # 邮箱密码(部分邮箱为授权码) password = '123456'(输入你的密码) # 收件人邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发 receiver = ['baby@qq.com', ](输入你要发送人的邮箱) # 利用related定义内嵌资源的邮件体 message = MIMEMultipart('related') # 发件人显式的名字 message['From'] = Header('拿头来坚持', 'utf-8') # 收件人显式的名字 message['To'] = Header('baby', 'utf-8') # 邮件标题 message['Subject'] = '爸爸来信,请接收!' # 邮件正文 content = MIMEMultipart('alternative') # html内容 msg = ''' Life goes on, learning goes on拿头来坚持的个人主页
''' # 邮件附加html文件 message.attach(MIMEText(msg, 'html', 'utf-8')) # 添加图片 with open('csdn.png', 'rb') as f: img01 = MIMEImage(f.read()) # 定义资源的名字为img01 img01.add_header('Content-ID', 'img01') # 邮件附加图片 message.attach(img01) try: # 使用QQ企业邮箱服务器发送 smtp = smtplib.SMTP('smtp.qq.com') # 登录 smtp.login(sender, password) # 发送 smtp.sendmail(sender, receiver, message.as_string()) print('邮件发送成功!') # 退出服务器 smtp.quit() except smtplib.SMTPException as e: print('Error!邮件发送失败!', e)![]()
6. Empfangen von E-Mails
Es gibt zwei häufig verwendete Protokolle zum Empfangen von E-Mails: POP3 und IMAP-ProtokollPOP3-Protokoll (Post Office Protocol-Version3, also Post Office Protocol Version 3): Der E-Mail-Client darf E-Mails auf dem Server herunterladen, Vorgänge auf dem Client (z. B. Verschieben von E-Mails, Markieren als gelesen, usw.) werden nicht an den Server zurückgesendet. Beispielsweise werden 3 E-Mails aus dem Postfach über den Client gesammelt und beim Verschieben in einen anderen Ordner werden diese E-Mails auf dem Mailserver nicht gleichzeitig verschoben.
Der Code lautet wie folgt:
import poplib from email.parser import Parser # 登录邮箱的用户名 username = 'baby@qq.com'(输入你的邮箱) # 登录邮箱的密码(部分邮箱为授权码) password = '123456'(输入你的密码) # 连接邮箱服务器 pop_server = poplib.POP3('pop.qq.com') # 打印出邮箱服务器的欢迎文字 print(pop_server.getwelcome()) # 登录邮箱服务器 pop_server.user(username) pop_server.pass_(password) # 打印出当前账号的状态,第一个返回值为邮件数,第二个返回值为占用空间 print('Server stat', pop_server.stat()) # 获取所以邮件列表 resp, mails, octets = pop_server.list() print(mails) # 获取最新的一封邮件(序列号最大的),邮件索引从1开始计数 index = len(mails) resp, lines, octets = pop_server.retr(index) content = b'\r\n'.join(lines).decode('utf-8') # 解析出邮件 msg = Parser().parsestr(content) # 可以根据邮件索引号直接从服务器删除邮件 # pop_server.dele(index) # 关闭连接 pop_server.quit()
Ausführungsergebnisse:
b'+OK XMail POP3 Server v1.0 Service Ready (XMail v1. 0)'
Server stat (15, 50814)[b'1 1255', b'2 1286', b'3 1310', b'4 1398', b'5 1458', b'6 1450', b '7 1602', b'8 1633', b'9 5001', b'10 2347', b'11 2371', b'12 2267', b'13 5033', b'14 5077' , b'15 17326']
Wenn der Server korrekt verbunden ist und die Anzahl der E-Mails aufgeführt ist, bedeutet dies, dass wir das POP3-Protokoll korrekt verwendet haben.Damit wird dieser Artikel über die E-Mail-Verarbeitung mit einer ausführlichen Erläuterung der Grundlagen von Python abgeschlossen.Empfohlenes Lernen:
php-Video-TutorialDas obige ist der detaillierte Inhalt vonBeispiel für die Python-Mailverarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!