Python实现发送email的几种常用方法
学过Python的人都知道,实用Python实现发送email的功能还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现。
本文就把几个最简单的发送邮件方式记录下来,像html邮件,附件等也是支持的,读者在需要时可以参考查询一下。具体方法如下:
1.登录邮件服务
具体代码如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #send_simple_email_by_account.py @2014-08-18 #author: orangleliu ''' 使用python写邮件 simple 使用126 的邮箱服务 ''' import smtplib from email.mime.text import MIMEText SMTPserver = 'smtp.126.com' sender = '12345678@126.com' password = "xxxx" message = 'I send a message by Python. 你好' msg = MIMEText(message) msg['Subject'] = 'Test Email by Python' msg['From'] = sender msg['To'] = destination mailserver = smtplib.SMTP(SMTPserver, 25) mailserver.login(sender, password) mailserver.sendmail(sender, [sender], msg.as_string()) mailserver.quit() print 'send email success'
2.调用sendmail命令 (linux)
具体代码如下:
# -*- coding: utf-8 -*- #python2.7x #send_email_by_.py #author: orangleliu #date: 2014-08-18 ''' 用的是sendmail命令的方式 这个时候邮件还不定可以发出来,hostname配置可能需要更改 ''' from email.mime.text import MIMEText from subprocess import Popen, PIPE def get_sh_res(): p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE) return str(p.communicate()[0]) def mail_send(sender, recevier): print "get email info..." msg = MIMEText(get_sh_res()) msg["From"] = sender msg["To"] = recevier msg["Subject"] = "Yestoday interface log results" p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE) res = p.communicate(msg.as_string()) print 'mail sended ...' if __name__ == "__main__": s = "12345678@qq.com" r = "123456@163.com" mail_send(s, r)
3 使用smtp服务来发送(本地或者是远程服务器)
具体代码如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #send_email_by_smtp.py #author: orangleliu #date: 2014-08-18 ''' linux 下使用本地的smtp服务来发送邮件 前提要开启smtp服务,检查的方法 #ps -ef|grep sendmail #telnet localhost 25 这个时候邮件还不定可以发出来,hostname配置可能需要更改 ''' import smtplib from email.mime.text import MIMEText from subprocess import Popen, PIPE def get_sh_res(): p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE) return str(p.communicate()[0]) def mail_send(sender, recevier): msg = MIMEText(get_sh_res()) msg["From"] = sender msg["To"] = recevier msg["Subject"] = "Yestoday interface log results" s = smtplib.SMTP('localhost') s.sendmail(sender, [recevier], msg.as_string()) s.quit() print 'send mail finished...' if __name__ == "__main__": s = "123456@163.com" r = s mail_send(s, r)
相信本文所示方法对于大家进行Python程序设计能够起到一定的参考借鉴价值。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Alternative Verwendung von Python -Parameteranmerkungen in der Python -Programmierung, Parameteranmerkungen sind eine sehr nützliche Funktion, die den Entwicklern helfen kann, Funktionen besser zu verstehen und zu verwenden ...

Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Beim Schreiben von Python -Skripten ist es üblich, die vorherige Ausgabe an die Cursorposition zu löschen ...

Erste Schritte mit Python: Hourglas -Grafikzeichnung und Eingabeüberprüfung In diesem Artikel wird das Problem der Variablendefinition gelöst, das von einem Python -Anfänger im Hourglass -Grafikzeichnungsprogramm auftritt. Code...

Die Untersuchung von Rissverifizierungscodes unter Verwendung von Python in täglichen Netzwerkinteraktionen sind ein häufiger Sicherheitsmechanismus, um eine schädliche Manipulation automatisierter Programme zu verhindern ...

Viele Entwickler verlassen sich auf PYPI (PythonpackageIndex) ...

Auswahl der Python-plattformübergreifenden Desktop-Anwendungsentwicklungsbibliothek Viele Python-Entwickler möchten Desktop-Anwendungen entwickeln, die sowohl auf Windows- als auch auf Linux-Systemen ausgeführt werden können ...
