Maison  >  Article  >  développement back-end  >  Comment envoyer un email en python

Comment envoyer un email en python

angryTom
angryTomoriginal
2020-03-03 11:12:1011725parcourir

Comment envoyer un email en python

Comment envoyer des emails avec python

Lorsque vous utilisez la boîte aux lettres pour tester, vous devez activer le service pop3/smtp de la boîte aux lettres et trouver le bon serveur SMTP pour l'adresse et le port de la boîte aux lettres. Ici, nous prenons la boîte aux lettres QQ comme exemple

1. Après avoir ouvert la boîte aux lettres QQ, sélectionnez "Paramètres-Compte"

Apprentissage recommandé :Tutoriel vidéo Python

Comment envoyer un email en python

2. Tirez la barre de défilement vers le bas

Comment envoyer un email en python

3. Activez le service pop3/smtp et enregistrez le code d'autorisation comme mot de passe.

Comment envoyer un email en python

4. Écrivez du code Python

# 首先导入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. Recevoir un e-mail

Comment envoyer un email en python

Lorsque python3 utilise smtplib pour envoyer des e-mails utf-8, il affiche UnicodeEncodeError. Comment le résoudre :

N'utilisez pas la méthode sendmail(), mais utilisez sendmsg()

N'utilisez pas la méthode sendmail () ser.sendmail(from_addr, to_addr, msg.as_string())

Utilisez plutôt sendmsg() send_message(msg, mail_options=[], rcpt_options={}, from_addr = None, to_addrs = None)

Pour plus de

tutoriels de programmation, veuillez faire attention au site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn