Saltar al contenido

¿Cómo enviar un correo directamente al servidor SMTP sin autenticación?

Poseemos la mejor solución que hemos encontrado en línea. Nuestro deseo es que te sea de mucha ayuda y si deseas compartir algo que nos pueda ayudar a mejorar puedes hacerlo..

Solución:

Esa es una muy buena pregunta, y estoy respondiendo en línea.

Me gustaría enviar un correo electrónico directamente desde un script a una cuenta de correo electrónico de Gmail, conectándome directamente a smtp.gmail.com.

Ante todo smtp.gmail.com no es un servidor de correo que acepta correo (de otros servidores de correo), sino que permite Gmail usuarios para iniciar sesión y, por lo tanto, enviar o consultar el correo electrónico. Si queremos saber los servidores de correo de Gmail que aceptan correos de otros servidores de correo. Podemos ejecutar el siguiente cmd en la terminal:

dig mx gmail.com +short

producción:

10 alt1.gmail-smtp-in.l.google.com.
40 alt4.gmail-smtp-in.l.google.com.
5 gmail-smtp-in.l.google.com.
30 alt3.gmail-smtp-in.l.google.com.
20 alt2.gmail-smtp-in.l.google.com. 

Ya que gmail-smtp-in.l.google.com. tiene el valor más bajo de 5 lo usamos como el servidor de correo preferido

Sin embargo, preferiría no tener la contraseña de gmail en el script. Por lo que he leído, parece que Gmail requiere autenticación antes de entregar cualquier correo, incluso a sus propios usuarios.

Exactamente uno usa smtp.gmail.com para iniciar sesión y enviar/verificar correos electrónicos a/desde sus respectivas cuentas, por lo tanto, requerimos credenciales de usuario. Sin embargo, no necesitamos credenciales para enviar correos electrónicos a su servidor de correo, es decir gmail-smtp-in.l.google.com (Ejemplo a continuación)

Mi pregunta es, ¿cómo se entrega el correo proveniente de otro servidor SMTP, ya que ese servidor SMTP no tendrá credenciales de Gmail? ¿Gmail solo requiere autenticación para remitentes “anónimos” y dado que mi secuencia de comandos se ejecuta en una computadora personal, está sujeta a mayor seguridad? Aquí está el script de Python que estoy ejecutando:

Como he dejado claro en la discusión anterior, no necesitamos las credenciales de Gmail para conectarnos a Servidores de correo de Gmailsin embargo si nos conectamos a Servidores de correo de Gmail usando computadoras personales podemos enviar algunos correos electrónicos, pero para enviar más correos electrónicos necesitamos construir una reputación de dominio y responsabilidad usando DKIM, SPF, etc. (Eso es un espectro completamente diferente).

El siguiente script de Python envía un correo electrónico a una cuenta de Gmail sin autenticación.

import smtplib

fromaddr = '[email protected]'
toaddrs  = ['[email protected]']
# string inside msg below must have "Subject: n"
# for a subject to be sent, and "To: " for the recipient to be shown in the email
msg = '''To: [email protected]
    Subject: Subject line heren
    The body goes here
    .
'''

msg = msg.format(fromaddr =fromaddr, toaddr = toaddrs[0])
# The actual mail send
server = smtplib.SMTP('gmail-smtp-in.l.google.com:25')
server.starttls()
server.ehlo("example.com")
server.mail(fromaddr)
server.rcpt(toaddrs[0])
server.data(msg)
server.quit()  

O pruebe el siguiente fragmento de Telnet

telnet gmail-smtp-in.l.google.com 25

HELO sendingdomain.com

MAIL FROM:<[email protected]>

RCPT TO:<[email protected]>

DATA
From: <[email protected]>
To: <[email protected]>
Subject: Just a test email

The body of the mail goes here.          
.

QUIT

Puede usar algunos servidores SMTP externos sin autenticación (o un SMTP local), pero el filtro de spam de Google detectará el mensaje enviado porque el mensaje[“From”] es @google.commientras que el SMTP real no es smtp.gmail.com.

Esos servidores SMTP también deben tener la zona inversa correcta en el DNS del ISP y, de lo contrario, Google bloqueará este smtp.

Recuerda que puedes recomendar este enunciado si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *