Heim  >  Artikel  >  Backend-Entwicklung  >  Verwenden Sie Python zum Senden und Empfangen von E-Mail-Beispielcode

Verwenden Sie Python zum Senden und Empfangen von E-Mail-Beispielcode

高洛峰
高洛峰Original
2017-03-21 13:44:491633Durchsuche

Über E-Mail

Vor dem College habe ich E-Mail im Grunde nicht verwendet, daher habe ich im Grunde nicht gespürt, dass sie existiert, und wusste nicht, wie sie verwendet wird. Nach dem College erfuhr ich jedoch mehr und mehr Menschen, meines Wissens nach wird es immer weiter verbreitet und E-Mail ist zu einem sehr wichtigen Kommunikationsmittel geworden. Bei einigen Universitätskursen muss eine E-Mail an Lehrer gesendet werden, bei der Registrierung für eine Website ist eine E-Mail erforderlich, und auch bei der Suche nach einem Job ist eine E-Mail erforderlich erfordert eine E-Mail. Was ist also das Prinzip einer E-Mail? Einfaches E-Mail-Übertragungsprotokoll. Dabei handelt es sich um eine Reihe von Protokollen zur Übertragung von E-Mails von der Quelladresse zur Zieladresse. Regeln, die die Weiterleitung von Briefen regeln. Das SMTP-Protokoll gehört zur Protokollsuite

TCP/IP

, die jedem Computer hilft, beim Senden oder Weiterleiten von Briefen das nächste Ziel zu finden. Über den durch das SMTP-Protokoll angegebenen Server können Sie die E-Mail in nur wenigen Minuten an den Server des Empfängers senden.

SMTP-Modul in Python

Grundlegende Schritte zur Verwendung von SMTP

Verbindung zum Server herstellen

Anmelden

  1. Serviceanfrage senden

  2. Abmelden

  3. Das Obige zeigt die Verwendung von smtplib zum Senden von E-Mails und verwendet eine relativ sichere E-Mail, um den Inhalt der E-Mail zu erstellen Wichtig ist hier das E-Mail-Passwort. Darüber hinaus können die Mailserver und Ports der einzelnen Unternehmen unterschiedlich sein. Sie können dies vor der Verwendung überprüfen.
  4. Hier sind einige häufig verwendete:

  5. E-Mails empfangen
import smtplib
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr



def send_email(from_addr, to_addr, subject, password):
    msg = MIMEText("邮件正文",'html','utf-8')
    msg['From'] = u'<%s>' % from_addr
    msg['To'] = u'<%s>' % to_addr
    msg['Subject'] = subject

    smtp = smtplib.SMTP_SSL('smtp.163.com', 465)
    smtp.set_debuglevel(1)
    smtp.ehlo("smtp.163.com")
    smtp.login(from_addr, password)
    smtp.sendmail(from_addr, [to_addr], msg.as_string())


if name == "main":
    # 这里的密码是开启smtp服务时输入的客户端登录授权码,并不是邮箱密码
    # 现在很多邮箱都需要先开启smtp才能这样发送邮件
    send_email(u"from_addr",u"to_addr",u"主题",u"password")

POP3 und I

MAP

邮箱 SMTP服务器 SSL协议端口 非SSL协议端口
163 smtp.163.com 465或者994 25
qq smtp.11.com 465或587 25

POP bezieht sich auf das Post-Office-Protokoll, das darauf abzielt, Benutzern den Zugriff auf E-Mails im Postfachserver zu ermöglichen und es Benutzern zu ermöglichen, E-Mails von dort zu speichern Server an den lokalen Host (d. h. Ihren eigenen Computer) und löschen Sie gleichzeitig die auf dem Mailserver gespeicherten E-Mails. Der POP3-Server ist ein empfangender Mailserver, der dem POP3-Protokoll folgt und zum Empfang von E-Mails verwendet wird.

Später erschien das IMAP-Protokoll (Interactive Mail Access Protocol), das interaktive E-Mail-Zugriffsprotokoll. Der Unterschied zu POP3 besteht darin, dass die im E-Mail-Client empfangenen E-Mails nach der Aktivierung weiterhin gespeichert werden Gleichzeitig werden Vorgänge auf dem Client an den Server zurückgemeldet, z. B. das Löschen von E-Mails, das Markieren als gelesen usw., und die E-Mails auf dem Server werden ebenfalls entsprechende Aktionen ausführen. POP3 verwendenPythons Poplib-Modul unterstützt POP3, grundlegende Schritte:

Mit dem Server verbinden

Anmelden

  1. Serviceanfrage stellen

  2. Beenden

  3. Gemeinsame Methoden für Poplib:

    Methode Beschreibung
    POP3(server) POP3 instanziierenObjekt, Server Ist die Adresse des Pop-Servers
    Benutzer(Benutzername) Senden Sie den Benutzernamen an den Server und warten Sie, bis der Server Informationen zurückgibt tr>
    pass_(password) Passwort
    stat () Gibt den Status
  4. des Postfachs zurück und gibt 2 Elemente zurück ( die Anzahl der Nachrichten, die Gesamtzahl der Nachrichten (Bytes)
  5. list([msgnum]) Erweiterung von stat(), Rückgabe eines 3-Tupel-Vorfahren (Rückgabeinformationen, Nachrichtenliste, Nachrichtengröße). Wenn msgnum angegeben ist, werden nur die Daten der angegebenen Nachricht zurückgegeben
    retr(msgnum) Details abrufen msgnum, auf Lesen gesetzt, gibt ein 3-Tupel zurück (Rückgabeinformationen, alle Inhalte der Nachricht msgnum, die Anzahl der Bytes der Nachricht). Es werden nur die Daten der angegebenen Nachricht zurückgegeben
    dele(msgnum) Die angegebene Nachricht zum Löschen markieren
    quit() Abmelden, Änderungen speichern, Postfach entsperren, Verbindung beenden, beenden

    Beispiel

IMAP verwenden

Das Imaplib-Paket in Python unterstützt IMAP4
方法 描述
POP3(server) 实例化POP3对象,server是pop服务器地址
user(username) 发送用户名到服务器,等待服务器返回信息
pass_(password) 密码
stat() 返回邮箱的状态,返回2元祖(消息的数量,消息的总字节)
list([msgnum]) stat()的扩展,返回一个3元祖(返回信息, 消息列表, 消息的大小),如果指定msgnum,就只返回指定消息的数据
retr(msgnum) 获取详细msgnum,设置为已读,返回3元组(返回信息, 消息msgnum的所以内容, 消息的字节数),如果指定msgnum,就只返回指定消息的数据
dele(msgnum) 将指定消息标记为删除
quit() 登出,保存修改,解锁邮箱,结束连接,退出

Gemeinsame Methoden:

from poplib import POP3

p = POP3('pop.163.com')
p.user('xxxxxxx@163.com')
p.pass_('xxxxxxxx')

p.stat()
...

p.quit()

Beispiel

Das obige ist der detaillierte Inhalt vonVerwenden Sie Python zum Senden und Empfangen von E-Mail-Beispielcode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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