2009-09-05 7 views
3

Je le code suivantpython erreur d'authentification smtp gmail (envoi de courrier électronique via le serveur smtp gmail)

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 = '[email protected]' # for SMTP AUTH, set SMTP username here 
smtppass = '123456' # for SMTP AUTH, set SMTP password here 

RECIPIENTS = ['[email protected]'] 
SENDER = '[email protected]' 

msg = MIMEText('dsdsdsdsds\n') 
msg['Subject'] = 'The contents of iii' 
msg['From'] = '[email protected]' 
msg['To'] = ''[email protected]'' 

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() 

ce code fonctionne très bien sur mon bureau. mais il a échoué avec cette erreur

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') 

sur mon serveur Linux.

Vous ne savez pas ce qui s'est mal passé, devrais-je ouvrir un port sur mon serveur Linux?

+0

mon bureau utilise python2.5 (fonctionnant), boîte linux utilisant python2.6 (falied) – icn

Répondre

6

Le port 587 doit évidemment être ouvert, mais c'est probablement le cas (ou vous n'auriez pas obtenu le message d'erreur détaillé en question). Python 2.5 vs 2.6 ne devrait faire aucune différence. Je pense que le problème a à voir avec "résoudre un captcha" une fois sur l'ordinateur pour lequel les connexions sont actuellement rejetées; suivez les instructions détaillées à l'URL dans le message d'erreur, à savoir http://mail.google.com/support/bin/answer.py?answer=14257

+0

a! épargnant de vie! Merci beaucoup! – icn

+0

@online, vous êtes le bienvenu! –

2
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) 

randomiser l'intervalle de messagerie pour vérifier le comportement smtp :)

Avec une modification n d'addition peu, je suis arrivé que cela fonctionne pour vérifier notre courrier intermittent qui rebondit.

Questions connexes