Heim  >  Artikel  >  Backend-Entwicklung  >  So senden Sie E-Mails in Python

So senden Sie E-Mails in Python

angryTom
angryTomOriginal
2020-03-03 11:12:1011709Durchsuche

So senden Sie E-Mails in Python

So senden Sie E-Mails mit Python

Wenn Sie das Postfach zum Testen verwenden, müssen Sie den Pop3/SMTP-Dienst des Postfachs aktivieren und suchen Geben Sie den richtigen SMTP-Server für die Postfachadresse und den Port an. Hier nehmen wir das QQ-Postfach als Beispiel

1. Wählen Sie nach dem Öffnen des QQ-Postfachs „Einstellungen-Konto“

Empfohlenes Lernen:Python-Video-Tutorial

So senden Sie E-Mails in Python

2. Ziehen Sie die Bildlaufleiste nach unten

So senden Sie E-Mails in Python

3. Aktivieren Sie den Pop3/SMTP-Dienst und speichern Sie den Autorisierungscode als Passwort

So senden Sie E-Mails in Python

4. Python-Code schreiben

# 首先导入email模块构造邮件
from email.mime.text import MIMEText
# 构造邮件,内容为hello world
msg = MIMEText('hello world')
# 设置邮件主题
msg["Subject"] = "hello world" 
# 寄件者
msg["From"]    = ''
# 收件者
msg["To"]      = ''
# 然后是导入smtplib模块发送邮件
import smtplib
from_addr = raw_input("请输入发送方邮箱账号:")
password = raw_input("请输入发送方邮箱密码(这里输入的内容是开启pop3/smtp服务时腾讯给出的授权码):")
# smtp服务器地址
smtp_server = 'smtp.qq.com'
# 收件人地址
to_addr = raw_input("请输入收件人地址:")
try:
    # smtp协议的默认端口是25,QQ邮箱smtp服务器端口是465,第一个参数是smtp服务器地址,第二个参数是端口,第三个参数是超时设置,这里必须使用ssl证书,要不链接不上服务器
    server = smtplib.SMTP_SSL(smtp_server, 465, timeout = 2)
    # 登录邮箱
    server.login(from_addr, password)
    #发送邮件,第一个参数是发送方地址,第二个参数是接收方列表,列表中可以有多个接收方地址,表示发送给多个邮箱,msg.as_string()将MIMEText对象转化成文本
    server.sendmail(from_addr, [to_addr], msg.as_string())
    server.quit()
    print 'success'
except Exception,e:
    print 'Faild:%s' % e

5. E-Mail empfangen

So senden Sie E-Mails in Python

Wenn Python3 smtplib zum Senden von UTF-8-E-Mails verwendet, wird UnicodeEncodeError angezeigt. So lösen Sie das Problem:

Verwenden Sie nicht die sendmail()-Methode, sondern sendmsg()

Verwenden Sie nicht die Methode sendmail() ser.sendmail(from_addr, to_addr, msg.as_string())

Verwenden Sie stattdessen sendmsg() send_message(msg, mail_options=[], rcpt_options={}, from_addr = None, to_addrs = None)

Weitere Programmieranleitungen finden Sie auf der chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonSo senden Sie E-Mails in Python. 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