Deseo enviar un correo electrónico directamente desde un script a una cuenta de correo electrónico de Gmail, al conectarme directamente al smtp.gmail.com
.¿Cómo enviar un correo directamente al servidor SMTP sin autenticación?
Sin embargo, preferiría no tener la contraseña de gmail en el script. Según lo que he leído, parece que Gmail requiere autenticación antes de entregar cualquier correo, incluso a sus propios usuarios.
Mi pregunta es, ¿cómo se entrega el correo procedente de otro servidor SMTP, ya que ese servidor SMTP no tendrá credenciales de Gmail. ¿Gmail solo requiere autenticación para los remitentes "anónimos", y como mi script se ejecuta en una computadora personal, está sujeto a una mayor seguridad? Aquí está el script en Python Me postulo:
import smtplib
import email
msg = email.message.Message()
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
msg["Subject"] = "Test message"
server = smtplib.SMTP("smtp.gmail.com",587)
server.starttls()
server.ehlo_or_helo_if_needed()
try:
failed = server.sendmail("[email protected]","[email protected]", msg.as_string())
server.close()
except Exception as e:
print(e)
Cuando ejecuto este script, la salida es:
(530, b'5.5.1 Authentication Required. Learn more at
5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 fw5sm21125889wib.0', '[email protected]')
Mi pregunta es, ¿cómo los servidores SMTP externos evitar este problema? ¿Y lo que hacen es replicable en un script local, o requiere registros DNS inversos correctos, registros SPF, etc.?
aquí "25" representan qué? @MaK –
25 es el puerto SMTP, utilizado para las comunicaciones con los servidores de correo. https://en.m.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol – MaK
sí @Mak pero ¿está estático? o dinámico? ¿Hay algún puerto disponible? –