Maison >développement back-end >Tutoriel Python >Pourquoi mon script de messagerie Python Gmail affiche-t-il « Extension SMTP AUTH non prise en charge » et comment puis-je y remédier ?
Envoi d'e-mails avec Gmail à l'aide de Python : dépannage de l'erreur « Extension SMTP AUTH non prise en charge »
Lors de la tentative d'envoi d'e-mails via Gmail à l'aide de Python, vous pouvez rencontrer l'erreur suivante :
SMTPException: SMTP AUTH extension not supported by server.
Pour résoudre ce problème, nous devons utiliser le SMTP_SSL classe et établissez une connexion sécurisée au lieu du SMTP par défaut. Suivez ces étapes :
Créez un objet SMTP_SSL (Port 465) :
server_ssl = smtplib.SMTP_SSL("smtp.gmail.com", 465)
Connectez-vous à l'aide de vos identifiants Gmail :
server_ssl.login(user, pwd)
Envoyer l'e-mail message :
server_ssl.sendmail(user, recipient, message)
Fermez la connexion :
server_ssl.close()
Voici un exemple mis à jour utilisant SMTP_SSL :
import smtplib def send_email(user, pwd, recipient, subject, body): # ... Same as before ... # Use SMTP_SSL instead of SMTP server_ssl = smtplib.SMTP_SSL("smtp.gmail.com", 465) server_ssl.ehlo() server_ssl.login(user, pwd) # ... Same as before ...
En utilisant SMTP_SSL et le port 465, vous établirez une connexion sécurisée et éviterez l'erreur "SMTP Extension AUTH non prise en charge par le serveur."
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!