web-dev-qa-db-fra.com

L'extension SMTP AUTH n'est pas prise en charge par le serveur

Utilisation de python Je veux envoyer des e-mails depuis mon application mais cela montre l'erreur

SMTP AUTH extension not supported by server

Code du programme,

import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
fromaddr = "[email protected]"
toaddr = "[email protected]"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Test Mail"
body = "Test mail from python"
msg.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP('smtp.example.com', 25)
server.ehlo()
server.starttls()
server.ehlo()
server.login(fromaddr, "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

Sortie Telnet:

ehlo test1.example.com
250-hidden
250-HELP
250-SIZE 104857600
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-STARTTLS
250 OK

Je dois m'authentifier et envoyer du courrier depuis l'application.

21
KKD

une connexion est requise avant de vous connecter et d'envoyer un e-mail.

server = smtplib.SMTP('smtp.example.com', 25)
server.connect("smtp.example.com",465)
server.ehlo()
server.starttls()
server.ehlo()
server.login(fromaddr, "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
36
Kris

C'est probablement juste le serveur que j'utilisais, mais obtenait la même erreur que l'OP même après avoir implémenté la solution acceptée. Il s'est avéré que le serveur ne voulait pas de connexion, donc après avoir supprimé la ligne server.login(fromaddr, "password"), l'erreur a disparu et cela a fonctionné.

0
cardamom
import smtplib

    s = smtlib.SMTP('smtplib.gmail.com',587)
    s.ehlo()
    s.starttls()
    s.login('frmaddr','password')
    try:
        s.sendmail('fromaddr','toaddr','message')
    except:
        print (failed)
0
Bobzz kenya