with sent mails from example python smtp gmail sendmail

sent - enviar mensajes de correo electrónico en Python comportamiento extraño



smtp python gmail example (2)

Probé el código anterior con mi cuenta de Gmail (en realidad es una cuenta de Google Apps, pero debería ser idéntica) y funciona bien para mí. Incluso probé un encabezado "De" incorrecto y también el uso de la dirección de origen incorrecta en el nivel de SMTP, las dos veces que Gmail me permitió enviar el correo electrónico, pero parecía arreglar silenciosamente el encabezado en la salida. Aún así, es posible que desee verificar nuevamente que su dirección coincida con su nombre de usuario. También intente utilizar la dirección de correo electrónico completa como nombre de usuario si actualmente solo está usando la parte antes del @.

También probé una contraseña incorrecta y recibí el error 535, que no es lo mismo que lo que estás viendo. Como tengo habilitada la autenticación de 2 factores, también probé mi contraseña real en lugar de la específica de la aplicación y aún así se produjo un error 535 (pero con el mensaje "se requiere contraseña específica de la aplicación").

¿Es posible que su ISP haya configurado algo que intercepte las conexiones SMTP a Gmail? Parece poco probable, aunque mi ISP una vez bloqueó el acceso a Gmail en el puerto 587, aunque el puerto 465 aún funcionaba. Quizás podría intentar usar smtplib.SMTP_SSL en el puerto 465 por si acaso y ver si eso le da más alegría.

También podría intentar enviar direcciones a diferentes proveedores en caso de que Gmail rechace el envío por ese motivo (por ejemplo, si el otro proveedor ha sido incluido en una lista negra de spam, por ejemplo). Además, si es posible que su correo electrónico se muestre como spam, pruebe su código con un asunto del mensaje y un cuerpo que esté cerca de un correo electrónico auténtico y vea si eso ayuda.

Estoy trabajando en un código que regularmente envía correos electrónicos desde 4 cuentas diferentes, 2 de ellos son cuentas de Gmail y los otros 2 son cuentas de Yahoo. Cuando comencé a escribir el código, pude enviar todos los correos electrónicos de ambas cuentas de Gmail usando el siguiente fragmento de código:

def sendGmail(self, fromaddr, toaddr, username, password, email_body, email_subject ): # Build the email msg = MIMEText(email_body) msg[''Subject''] = email_subject msg[''From''] = fromaddr msg[''To''] = toaddr try: # The actual mail send server = smtplib.SMTP(''smtp.gmail.com:587'') server.starttls() server.login(username,password) server.sendmail(fromaddr, toaddr, msg.as_string()) server.quit() print "email sent: %s" % fromaddr except Exception as e: print "Something went wrong when sending the email %s" % fromaddr print e

Como dije, este fragmento de código funcionó perfectamente, ahora que agrego sendYahoomail (), que es un método diferente, siempre obtengo (530, ''Acceso denegado'') como una excepción para usar sendGmail (). Estoy bastante seguro de que no tiene nada que ver con mi método Yahoo, y puedo iniciar sesión desde el navegador con las credenciales de Gmail correctamente.

¿Qué puede estar posiblemente mal, o solo Gmail no quiere que envíe el código?


Puede encontrar esto útil: https://support.google.com/mail/answer/14257

Básicamente, Google ha detectado un intento de iniciar sesión desde un servidor que considera desconocido y lo ha bloqueado. El enlace de arriba le permite intentar desbloquearlo.

A veces me ha funcionado, y a veces no.