Inhaltsverzeichnis
4.发送邮件附件:邮件附件是图片
5.发送群邮件:同时发送给多人
Heim Web-Frontend HTML-Tutorial 解读Python发送邮件_html/css_WEB-ITnose

解读Python发送邮件_html/css_WEB-ITnose

Jun 21, 2016 am 09:00 AM

解读Python发送邮件

Python发送邮件需要smtplib和email两个模块。也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单。今天,就来好好学习一下使用Python发送邮件吧。

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。

Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。

1.邮件正文是文本的格式

 1 # -*- coding: UTF-8 -*- 2  3 from email.mime.multipart import MIMEMultipart 4 from email.mime.text import MIMEText 5 import smtplib 6 import sys 7 import csv 8 import xlrd 9 from pyExcelerator import *10 import os11 import xlwt12 from xlutils.copy import copy13 import pyExcelerator14 import datetime15 import time16 17 reload(sys)18 sys.setdefaultencoding("utf-8")19 20 mailto_list = [""]  # 邮件接收方的邮件地址21 mail_host = "smtp.exmail.qq.com"    # 邮件传送协议服务器22 mail_user = ""  # 邮件发送方的邮箱账号23 mail_pass = ""  # 邮件发送方的邮箱密码24 25 def send_mail(to_list, sub, content):26     me = "天才白痴梦"+"<"+mail_user+">"27     msg = MIMEText(content, _subtype='plain', _charset='utf-8')28     msg['Subject'] = sub    # 邮件主题29     msg['From'] = me30     msg['To'] = ";".join(to_list)31     try:32         server = smtplib.SMTP()33         server.connect(mail_host)34         server.login(mail_user, mail_pass)35         server.sendmail(me, to_list, msg.as_string())36         server.close()37         return True38     except Exception, e:39         print str(e)40         return False41 42 if __name__ == '__main__':43     sub = "天才白痴梦"44     content = '...'45     if send_mail(mailto_list, sub, content):46         print "发送成功"47     else:48         print "发送失败"
Nach dem Login kopieren

2.邮件正文是表格的格式:由于是表格,所以我们选择HTML来实现表格的功能,邮件上面显示的就是HTML实现的内容了。

 1 # -*- coding: UTF-8 -*- 2  3 from email.mime.multipart import MIMEMultipart 4 from email.mime.text import MIMEText 5 import smtplib 6 import sys 7 import csv 8 import xlrd 9 from pyExcelerator import *10 import os11 import xlwt12 from xlutils.copy import copy13 import pyExcelerator14 import datetime15 import time16 17 reload(sys)18 sys.setdefaultencoding("utf-8")19 20 mailto_list = [""]  # 邮件接收方的邮件地址21 mail_host = "smtp.exmail.qq.com"    # 邮件传送协议服务器22 mail_user = ""  # 邮件发送方的邮箱账号23 mail_pass = ""  # 邮件发送方的邮箱密码24 25 def send_mail(to_list, sub, content):26     me = "天才白痴梦"+"<"+mail_user+">"27     # 和上面的代码不同的就是,这里我们选择的是html 的格式28     msg = MIMEText(content, _subtype='html', _charset='utf-8')29     msg['Subject'] = sub    # 邮件主题30     msg['From'] = me31     msg['To'] = ";".join(to_list)32     try:33         server = smtplib.SMTP()34         server.connect(mail_host)35         server.login(mail_user, mail_pass)36         server.sendmail(me, to_list, msg.as_string())37         server.close()38         return True39     except Exception, e:40         print str(e)41         return False42 43 if __name__ == '__main__':44     sub = "天才白痴梦"45     html = '<html></html>'46     if send_mail(mailto_list, sub, html):47         print "发送成功"48     else:49         print "发送失败"
Nach dem Login kopieren

3.邮件正文是图片的格式:要把图片嵌入到邮件正文中,我们只需按照发送附件的方式,先把邮件作为附件添加进去,然后,在HTML中通过引用src="cid:0"就可以把附件作为图片嵌入了。如果有多个图片,给它们依次编号,然后引用不同的cid:x即可。

 1 def send_mail(to_list, sub, content): 2     me = "天才白痴梦"+"<"+mail_user+">" 3  4     msg = MIMEMultipart() 5     msg['Subject'] = sub    # 邮件主题 6     msg['From'] = me 7     msg['To'] = ";".join(to_list) 8  9     txt = MIMEText("天才白痴梦", _subtype='plain', _charset='utf8')10     msg.attach(txt)11 12     # <b>:黑体  <i>:斜体13     msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.<img src="/static/imghw/default1.png"  data-src="cid:image1"  class="lazy"  alt="" />good!', 'html', 'utf-8')14     msg.attach(msgText)15 16     file1 = "F:\\1.jpg"17     image = MIMEImage(open(file1, 'rb').read())18     image.add_header('Content-ID', '<image1>')19     msg.attach(image)20 21     try:22         server = smtplib.SMTP()23         server.connect(mail_host)24         server.login(mail_user, mail_pass)25         server.sendmail(me, to_list, msg.as_string())26         server.close()27         return True28     except Exception, e:29         print str(e)30         return False31 32 if __name__ == '__main__':33     sub = "天才白痴梦"34     html = '<html></html>'35     if send_mail(mailto_list, sub, html):36         print "发送成功"37     else:38         print "发送失败"
Nach dem Login kopieren

4.发送邮件附件:邮件附件是图片

 1 def send_mail(to_list, sub, content): 2     me = "天才白痴梦"+"<"+mail_user+">" 3  4     msg = MIMEMultipart() 5     msg['Subject'] = sub    # 邮件主题 6     msg['From'] = me 7     msg['To'] = ";".join(to_list) 8  9     txt = MIMEText("天才白痴梦", _subtype='plain', _charset='utf8')10     msg.attach(txt)11 12     # # <b>:黑体  <i>:斜体13     # msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.<img src="/static/imghw/default1.png"  data-src="cid:image1"  class="lazy"  alt="" />good!', 'html', 'utf-8')14     # msg.attach(msgText)15     #16     # file1 = "F:\\1.jpg"17     # image = MIMEImage(open(file1, 'rb').read())18     # image.add_header('Content-ID', '<image1>')19     # msg.attach(image)20 21     att = MIMEText(open('F:\\1.jpg', 'rb').read(), 'base64', 'utf-8')22     att["Content-Type"] = 'application/octet-stream'23     att["Content-Disposition"] = 'attachment; filename="1.jpg"'24     msg.attach(att)25 26     try:27         server = smtplib.SMTP()28         server.connect(mail_host)29         server.login(mail_user, mail_pass)30         server.sendmail(me, to_list, msg.as_string())31         server.close()32         return True33     except Exception, e:34         print str(e)35         return False
Nach dem Login kopieren

5.发送群邮件:同时发送给多人

1 mailto_list = [""]  # 邮件接收方的邮件地址
Nach dem Login kopieren

上面这一行代码是邮件接收方的邮件地址,如果我们需要给多人发送邮件的话,就只需要把对方的邮件帐号绑在这一个列表里就ok了。

加密SMTP

使用标准的25端口连接SMTP服务器时,使用的是明文传输,发送邮件的整个过程可能会被窃听。要更安全地发送邮件,可以加密SMTP会话,实际上就是先创建SSL安全连接,然后再使用SMTP协议发送邮件。

方法:只需要在创建SMTP对象后,立刻调用starttls()方法,就创建了安全连接。

1 smtp_server = 'smtp.qq.com'2 smtp_port = 25    # 默认端口号为253 server = smtplib.SMTP(smtp_server, smtp_port)4 server.starttls()5 # 剩下的代码和前面的一模一样:6 server.set_debuglevel(1)     # 打印出和SMTP服务器交互的所有信息
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1263
29
C#-Tutorial
1237
24
HTML, CSS und JavaScript verstehen: Ein Anfängerhandbuch HTML, CSS und JavaScript verstehen: Ein Anfängerhandbuch Apr 12, 2025 am 12:02 AM

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

Die Rollen von HTML, CSS und JavaScript: Kernverantwortung Die Rollen von HTML, CSS und JavaScript: Kernverantwortung Apr 08, 2025 pm 07:05 PM

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

HTML, CSS und JavaScript: Wesentliche Tools für Webentwickler HTML, CSS und JavaScript: Wesentliche Tools für Webentwickler Apr 09, 2025 am 12:12 AM

HTML, CSS und JavaScript sind die drei Säulen der Webentwicklung. 1. HTML definiert die Webseitenstruktur und verwendet Tags wie z.

HTML: Die Struktur, CSS: Der Stil, JavaScript: Das Verhalten HTML: Die Struktur, CSS: Der Stil, JavaScript: Das Verhalten Apr 18, 2025 am 12:09 AM

Die Rollen von HTML, CSS und JavaScript in der Webentwicklung sind: 1. HTML definiert die Webseitenstruktur, 2. CSS steuert den Webseitenstil, und 3. JavaScript fügt ein dynamisches Verhalten hinzu. Zusammen bauen sie den Rahmen, die Ästhetik und die Interaktivität moderner Websites auf.

Die Zukunft von HTML: Evolution und Trends im Webdesign Die Zukunft von HTML: Evolution und Trends im Webdesign Apr 17, 2025 am 12:12 AM

Die Zukunft von HTML ist voller unendlicher Möglichkeiten. 1) Neue Funktionen und Standards umfassen mehr semantische Tags und die Beliebtheit von Webcomponenten. 2) Der Webdesign -Trend entwickelt sich weiterhin für reaktionsschnelles und zugängliches Design. 3) Die Leistungsoptimierung verbessert die Benutzererfahrung durch reaktionsschnelle Bildlade- und faulen Ladetechnologien.

Die Zukunft von HTML, CSS und JavaScript: Webentwicklungstrends Die Zukunft von HTML, CSS und JavaScript: Webentwicklungstrends Apr 19, 2025 am 12:02 AM

Die zukünftigen Trends von HTML sind Semantik und Webkomponenten, die zukünftigen Trends von CSS sind CSS-in-JS und CssShudini, und die zukünftigen Trends von JavaScript sind WebAssembly und serverlos. 1. HTML -Semantik verbessern die Zugänglichkeits- und SEO -Effekte sowie Webkomponenten die Entwicklungseffizienz, aber der Browserkompatibilität sollte die Aufmerksamkeit geschenkt werden. 2. CSS-in-JS verbessert die Flexibilität des Stilmanagements, kann jedoch die Dateigröße erhöhen. CssShudini ermöglicht den direkten Betrieb des CSS -Renderings. 3.Webassembly optimiert die Browser -Anwendungsleistung, verfügt jedoch über eine steile Lernkurve, und serverloses vereinfacht die Entwicklung, erfordert jedoch eine Optimierung von Kaltstartproblemen.

HTML vs. CSS vs. JavaScript: Ein vergleichender Überblick HTML vs. CSS vs. JavaScript: Ein vergleichender Überblick Apr 16, 2025 am 12:04 AM

Die Rollen von HTML, CSS und JavaScript in der Webentwicklung sind: HTML ist für die Inhaltsstruktur verantwortlich, CSS ist für den Stil verantwortlich und JavaScript ist für dynamisches Verhalten verantwortlich. 1. HTML definiert die Webseitenstruktur und den Inhalt durch Tags, um die Semantik zu gewährleisten. 2. CSS steuert den Webseitenstil über Selektoren und Attribute, um es schön und einfach zu lesen. 3. JavaScript steuert das Verhalten von Webseiten über Skripte, um dynamische und interaktive Funktionen zu erzielen.

HTML: Erstellen der Struktur von Webseiten HTML: Erstellen der Struktur von Webseiten Apr 14, 2025 am 12:14 AM

HTML ist der Eckpfeiler der Erstellung von Webseitenstruktur. 1. HTML definiert die Inhaltsstruktur und die Semantik und Verwendung usw. Tags. 2. Stellen Sie semantische Marker wie usw. zur Verfügung, um den SEO -Effekt zu verbessern. 3. Um die Benutzerinteraktion durch Tags zu verwirklichen, achten Sie auf die Verifizierung der Form. 4. Verwenden Sie fortschrittliche Elemente wie in Kombination mit JavaScript, um dynamische Effekte zu erzielen. 5. Zu den häufigen Fehlern gehören nicht abgegebene Bezeichnungen und nicht geeignete Attributwerte, und Überprüfungstools sind erforderlich. 6. Optimierungsstrategien umfassen das Reduzieren von HTTP -Anforderungen, die Komprimierung von HTML, die Verwendung semantischer Tags usw.

See all articles