Errore di pitone autenticazione SMTP gmail (invio di e-mail attraverso il server smtp gmail)
Domanda
Ho il seguente codice
import smtplib
from email.mime.text import MIMEText
smtpserver = 'smtp.gmail.com'
AUTHREQUIRED = 1 # if you need to use SMTP AUTH set to 1
smtpuser = 'admin@myhost.com' # for SMTP AUTH, set SMTP username here
smtppass = '123456' # for SMTP AUTH, set SMTP password here
RECIPIENTS = ['online8@gmail.com']
SENDER = 'admin@myhost.com'
msg = MIMEText('dsdsdsdsds\n')
msg['Subject'] = 'The contents of iii'
msg['From'] = 'admin@myhost.com'
msg['To'] = ''online8@gmail.com''
mailServer = smtplib.SMTP('smtp.gmail.com',587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(smtpuser, smtppass)
mailServer.sendmail(smtpuser,RECIPIENTS,msg.as_string())
mailServer.close()
questo codice funziona bene sul mio desktop. ma non è riuscito con questo errore
smtplib.SMTPAuthenticationError: (535, '5.7.1 Username and Password not accepted. Learn more at\n5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 21sm4713429agd.11')
sul mio server Linux.
Non so cosa sia andato storto, devo aprire qualche porto sul mio server Linux?
Soluzione
Port 587 necessita ovviamente di essere aperti, ma probabilmente è (o non avrebbe ottenuto il dettaglio di msg di errore in questione). Python 2.5 vs 2.6 dovrebbe fare alcuna differenza. Credo che il problema ha a che fare con "la soluzione di un captcha" una volta sul computer per il quale gli accessi sono attualmente sempre respinto; seguire le istruzioni dettagliate alla URL nel messaggio di errore, cioè, http: / /mail.google.com/support/bin/answer.py?answer=14257
Altri suggerimenti
import random,time
for i in range(1,100):
y=random.randint(30,300)
time.sleep(y)
print ("Mailing for fun, Mail No: " + str(i))
msg = MIMEText('Testing mailing \n Mail No:' + str(i))
msg['Subject'] = 'Mail Number: ' + str(i)
randomizzazione l'intervallo di posta elettronica per verificare il comportamento smtp :)
Con una modifica po 'più n, ho avuto questo lavoro per controllare la nostra posta elettronica rimbalzo intermittente.