Configuración, uso y mejores prácticas del servidor SMTP
Publicado: 2022-04-08Alguna vez se preguntó cómo funcionan realmente los correos electrónicos. Cuando envía un correo electrónico y en unos segundos está en la bandeja de entrada de su destinatario, la tecnología detrás de cómo sucede esto es el Protocolo simple de transferencia de correo (SMTP). Cómo se almacenan los correos electrónicos en el servidor una vez que se reciben usando el servidor IMAP/POP3 es una historia para otro momento, por ahora, cubriremos SMTP y al final del artículo, esperamos que tenga una comprensión completa del protocolo STMP, servidores SMTP , Opciones comunes y cómo asegurarse de que sus correos electrónicos terminen en SPAM.
¿Qué es SMTP?
El Protocolo simple de transferencia de correo (SMTP) es el protocolo utilizado para enviar correos electrónicos, define un estándar común para que cualquier servidor SMTP pueda comunicarse con cualquier otro servidor SMTP o servidor POP3/IMAP en Internet y se entiendan entre sí. Se puede decir que asegura que las diferentes entidades involucradas en la transferencia de correos electrónicos hablen un idioma común.
¿Qué es un servidor SMTP?
El protocolo SMTP debe estar disponible mediante una aplicación, esta aplicación que responde a las solicitudes SMTP para aquellos que desean enviar correos electrónicos o retransmitir correos electrónicos se denomina Servicio SMTP/Retransmisión SMTP. Puede dividirlo en dos tipos como se indica a continuación, ambos son en su mayoría iguales, excepto por una pequeña diferencia:
- Servidor SMTP: es lo mismo que una retransmisión SMTP, pero se utiliza principalmente cuando el dominio del receptor es el mismo que el del servidor. Por lo general, se usan con servicios de correo electrónico gratuitos como gmail.com, yahoo.com.
- Servidor de retransmisión SMTP: también es un servidor, pero este término se usa cuando los dominios de correo electrónico de origen y de destino son diferentes de los dominios del servidor SMTP. Un ejemplo puede ser SendGrid o SendInBlue que los ofrecen. Estos servidores son principalmente enrutadores para el correo.
Servidores SMTP falsos: estos servidores se utilizan principalmente para pruebas por parte de los desarrolladores, básicamente son servidores generales que permiten a los usuarios ver cómo se verá el correo electrónico en el destinatario sin enviar ningún correo electrónico. Puede instalar una aplicación local como MailHog o MailCatcher o usar una nube proporcionada como Mailtrap o Nuestra herramienta local.
¿Cómo funciona SMTP?
A continuación se muestra una guía común sobre cómo funciona el proceso de envío de correos electrónicos con el SMTP.
- Un usuario que desea enviar un correo electrónico desde [correo electrónico protegido] a [correo electrónico protegido] utiliza su cliente de correo electrónico para redactar un correo electrónico con asunto y cuerpo y presiona Enviar.
- Una vez que el usuario presione enviar, el cliente de correo electrónico se conectará al servidor SMTP configurado, por ahora supongamos que es smtp.source.com. El cliente y el servidor SMTP hacen un protocolo de enlace y, si se requiere autorización, el cliente proporcionará las credenciales para el mismo.
- Después del apretón de manos, el cliente de correo electrónico envía la dirección del destinatario, que en nuestro caso es [email protected], el asunto y el cuerpo.
- Si nuestro usuario hubiera estado enviando a alguien en el mismo dominio, nuestro servidor simplemente lo reenviará internamente al servidor del destinatario local.
- A continuación, el servidor SMTP que utiliza una solicitud DNS para registros MX descubre la dirección IP o el dominio de los destinatarios donde se ejecuta su servidor SMTP.
- A continuación, se conecta a la dirección SMTP del receptor e intenta enviar el correo electrónico.
- El servidor de correo electrónico del destinatario verifica si puede manejar el correo electrónico que se le reenvía. Y si todo está bien, lo reenvía al servidor IMAP o POP3 entrante.
Dirección y puerto SMTP común
En la mayoría de los casos, la dirección SMTP será un prefijo de correo o smtp delante del dominio al que intenta conectarse. Además, estos están especificados por los registros de Mail Exchange (MX) en el DNS que dirigen a un cliente al servidor de correo que se supone que maneja cómo se enrutan los mensajes de correo electrónico.
Para encontrar la dirección del servidor SMTP, puede usar el comando dig
1 2 3 |
root @ mailtest : ~ # dig +short freesmtpservers.com MX 20 smtp . freesmtpservers . com . 10 smtp . freesmtpservers . com . |
Luego puede usar el comando dig para encontrar la dirección IP si es necesario
1 2 |
root @ mailtest : ~ # dig +short smtp.freesmtpservers.com 104.237.130.88 |
Las cosas no son tan simples con el puerto al que conectarse. Los servidores y los relés generalmente tienen un conjunto de puertos diferentes a los que puede conectarse, cada uno ha surgido con el tiempo para cumplir con los requisitos específicos.
Puerto SMTP
Número de puerto | Descripción | Información |
---|---|---|
25 | Puerto SMTP estándar | Debe usarse principalmente para retransmisión de correo electrónico. |
465 | Puerto SMTP obsoleto | Fue para SMTP seguro, usó SSL para el cifrado. Evite el uso. |
587 | Puerto SMTP seguro moderno | La mayoría de los clientes de correo electrónico modernos usarán esto, usa cifrado TLS. |
2525 | Puerto SMTP no estándar alternativo | Esto se usa como una alternativa a 587 en caso de que esté bloqueado. |
En la mayoría de los casos, utilizará el Puerto 587 para sus necesidades.
Nombres de servidores SMTP comunes
Las direcciones comunes para los servidores SMTP comienzan con smtp. o correo. con el nombre de dominio, algunos también pueden tener una dirección IP. Hemos enumerado algunos comunes con sus detalles a continuación:
Nombre del Servicio | Servidor SMTP | Puerto |
---|---|---|
Correo de Google | smtp.gmail.com | 587 |
Outlook.com | smtp.live.com | 587 |
Office365.com | smtp.office365.com | 587 |
Correo de yahoo | smtp.mail.yahoo.com | 465 |
Correo de Yahoo Plus | plus.smtp.mail.yahoo.com | 465 |
Yahoo Reino Unido | smtp.mail.yahoo.co.uk | 465 |
Yahoo Alemania | smtp.mail.yahoo.com | 465 |
Yahoo Australia y Nueva Zelanda | smtp.mail.yahoo.com.au | 465 |
O2 | smtp.o2.es | 25 |
O2.uk | smtp.o2.co.uk | 25 |
AOL.com | smtp.aol.com | 587 |
AT&T | smtp.att.yahoo.com | 465 |
NTL @ntlworld.com | smtp.ntlworld.com | 465 |
Conexión BT | pop3.btconnect.com | 25 |
Mundo abierto BT | correo.btopenworld.com | 25 |
BTInternet | mail.btinternet.com | 25 |
Naranja | smtp.orange.net | 25 |
Orange.es | smtp.orange.co.uk | 25 |
Wanadoo Reino Unido | smtp.wanadoo.co.uk | 25 |
Hotmail | smtp.live.com | 465 |
O2 Online Alemania | mail.o2online.de | 25 |
T-Online Alemania | securesmtp.t-online.de | 587 |
1 y 1 (1 y 1) | smtp.1and1.com | 587 |
1&1 Alemania | smtp.1und1.de | 587 |
Comcast | smtp.comcast.net | 587 |
Verizon | saliente.verizon.net | 465 |
Verizon (yahoo alojado) | saliente.yahoo.verizon.net | 587 |
Correo de Zoho | smtp.zoho.com | 465 |
correo.com | smtp.mail.com | 587 |
GMX.com | smtp.gmx.com | 465 |
[correo electrónico protegido] por USA.NET | smtp.postoffice.net | 465 |
Configuración del proveedor del servidor SMTP masivo
¿Qué sucede si desea enviar más de unos pocos correos electrónicos, digamos 10000 K correos electrónicos, entonces necesitará algo como una retransmisión SMTP masiva, también le proporcionarán API y otras funciones como seguimiento de entrega, tasas de apertura, etc. También lo ayudarán a enviar el Los correos electrónicos son bastante rápidos, ya que SMTP como protocolo es un poco lento.
Si el número no es muy grande, puede utilizar nuestra lista de proveedores de servidores SMTP gratuitos para elegir.
Si desea enviar un correo electrónico a su gran base de usuarios o tal vez para el marketing por correo electrónico, le ofrecemos precios a continuación con varios proveedores enumerados.
Proveedor | Gratis / Mes | Límite diario | planes pagados | Comentarios |
---|---|---|---|---|
SendInBlue | 9000 | 300 | $ 25 por 10k a $ 499 por 1 millón | mejor gratis |
TurboSMTP | 6000 | 200 | 14,95 por 50k a 979,95 por 2 millones. | 6000 / mes durante 12 meses |
Correo directo de Alibaba | 6000 | 200 | .00029 por 1000 correos electrónicos | |
pepipost | 3000 | 100 | $25 por 150k a 445 por 2 millones | |
SendGrid | 3000 | 100 | $14.95 por 50K correos electrónicos a $749 por 150K | |
sparpost | 3000 | 100 | $20 por 50K a $525 por 1M | |
Correo electrónico elástico | 3000 | 100 | Cuesta como Amazon SES | Opción paga de bajo costo |
Amazon SES | 62000 | .0001 para 1000 correos electrónicos | Uno de los más baratos, gratis si se envía desde el servidor AWS EC2 | |
Gmail | 15000 | 500 | Gsuite es la opción premium | El dominio será gmail.com, puede dar lugar a la suspensión de la cuenta. |
Usar un servidor SMTP con WordPress
WordPress alimenta casi el 40% de los sitios en Internet, por defecto usa PHP Mail para enviar correos electrónicos transaccionales que, si no están configurados, usan sendmail. Esto puede ser impredecible en el caso de la entrega, por lo que recomendamos usar un Complemento de WordPress que puede usar la configuración SMTP o usar la API SMTP para lo mismo.
De forma predeterminada, WordPress usa el correo PHP para enviar un correo electrónico; si está configurado correctamente, es suficiente, pero en la mayoría de los casos, es más fácil usar un servicio de terceros, ya que la mayoría de los hosts compartidos no permiten el acceso directo a la consola para verificar lo que está sucediendo y su Es posible que la IP del host haya sido incluida en la lista negra debido a SPAM, ya que también puede haber otros usuarios en el servidor (en caso de alojamiento compartido común) que podrían no comportarse y hacer que su IP esté en la lista negra. Al estar en la lista negra, queremos decir que la IP de su servidor se coloca en una lista global de spammers conocidos, lo que hace que sea aún más difícil para sus correos electrónicos pasar, puede verificar su estado aquí.
Para WordPress, recomendamos el complemento Wp Mail SMTP, es fácil de configurar, configurar y es compatible con muchos proveedores diferentes, incluido Gmail, también hay una opción para registrar todos los correos electrónicos enviados. El plan gratuito debería ser suficiente para la mayoría de los usuarios.
Puede instalarlo fácilmente desde dentro de WordPress o incluso descargarlo desde el sitio web de WordPress. Tiene un plan premium, pero gratis debería ser lo suficientemente bueno para la mayoría de los usuarios.
Configurar un servidor SMTP autohospedado en Linux
Comparación rápida de MTA, elegiremos Postfix ya que trabajaremos con Linux:
si usted es... | qcorreo | Exim | Enviar correo | Sufijo | notas |
---|---|---|---|---|---|
Inexperto | 0 | 3 | 1 | 3 | Exim y Postfix tienen buenos documentos y ejemplos claros |
Preocupado por la seguridad | 3 | 2 | 0 | 3 | Postfix es seguro y moderno; qmail es seguro pero muy antiguo y malhumorado; Exim es seguro para diferentes criterios (lea más arriba). |
Confiar en los milters de Sendmail | 0 | 1 | 3 | 2 | Postfix puede ejecutar milters; puede usar enrutadores Exim equivalentes / secuencia de comandos de filtro |
Querer la mínima molestia | 0 | 3 | 0 | 3 | Sendmail tiene algunas interfaces sencillas, pero cuanto más profundizas, peor se pone. Postfix y Exim son más predecibles. |
recursos limitados | 3 | 2 | 1 | 2 | Consulte la aplicación integrada a continuación para ver otros comentarios |
en ventanas | 0 | 2 | 3 | 0 | Sendmail tiene un puerto nativo de Windows; Exim está en la distribución de Cygwin |
Necesita apoyo comercial | 1 | 3 | 3 | 3 | Hay empresas competentes para todas las MTA; qmail es intrínsecamente menos compatible siendo tan antiguo |
Postfix es un agente de transferencia de correo (MTA) que puede actuar como un servidor o cliente SMTP para enviar o recibir correo electrónico. Es fácil de instalar y configurar y nosotros mismos lo usamos para la mayoría de nuestras necesidades, también se puede configurar para que actúe como intermediario para reenviar correos electrónicos a través de servicios de correo electrónico de terceros. Solo cubriremos la configuración básica y enviaremos su primer correo electrónico.
La configuración más simple consiste en instalar Postfix y debería estar listo para comenzar.
Tal configuración básica funcionará técnicamente, pero sus correos electrónicos pueden terminar en SPAM, para atender esto y garantizar una mejor capacidad de entrega de correos electrónicos, tenemos otra guía donde agregamos los otros requisitos como DKIM o SPF que son necesarios para asegurarse de que sus correos electrónicos lleguen. a través de. Pero aún así, a menos que haya una muy buena razón, no recomendamos ejecutar su propio servidor de correo electrónico.
Este proceso asume que tiene un nuevo Ubuntu 20.04 instalado y puede trabajar con la línea de comandos de Linux, si no, le recomendamos que utilice uno de los proveedores de SMTP existentes. Configuraremos postfix en el servidor Ubuntu 20.04 y enviaremos un correo electrónico usándolo a nuestro propio servicio ficticio para probar si funciona.

Para comenzar, emitiremos el comando de actualización de caché para el administrador de paquetes apt.
sudo apt update
A continuación, instalaremos Postfix con el siguiente comando:
sudo apt install postfix
La instalación abrirá un montón de indicaciones, haga las siguientes selecciones:
- ¿Tipo general de configuración de correo? : Para ello elegiremos un Sitio de Internet ya que éste se ajusta a nuestras necesidades de infraestructura.
- Nombre de correo del sistema: este es el dominio base que se utilizará para enviar un correo electrónico si el usuario no especifica ningún dominio de remitente. Entonces, si envía un correo electrónico desde, digamos, usuario1 y no se especifica ningún dominio, se agregará al correo electrónico. Entonces, si se proporciona example.com, enviará un correo electrónico desde [email protected] .
Eso debería encargarse de la configuración básica. Para una configuración completa, siga nuestra guía de configuración del servidor de correo. Ahora el puerto 25 debería estar disponible, puede verificar si está abierto usando cualquiera de los comandos:
1 2 3 4 5 |
sudo lsof - i - P - n | grep LISTEN sudo netstat - tulpn | grep LISTEN sudo ss - tulpn | grep LISTEN sudo lsof - i : 22 ## see a specific port such as 22 ## sudo nmap - sTU - O IP - address - Here |
Lo que estamos buscando algo como esto
master 2575 root 13u IPv4 30244 0t0 TCP *:25 (LISTEN)
master 2575 root 14u IPv6 30245 0t0 TCP *:25 (LISTEN)
Si incluso necesita reconfigurar la configuración, simplemente ejecute el comando:
1 |
sudo dpkg - reconfigure postfix |
Ya estamos listos, nuestro servidor SMTP debe estar en funcionamiento. A continuación, podemos enviar un correo electrónico a algunos usuarios en Internet o tal vez capturar todos los correos electrónicos para probar cosas.
Uso de un servidor SMTP
Por lo general, un cliente de correo electrónico es la forma más común en que la mayoría de nosotros interactuamos con un servidor SMTP, pero también puede interactuar directamente con él mediante telnet. Comenzaremos con este método ya que es simplemente genial.
enviar correo usando telnet en linux
Conéctese a su servidor SMTP local ingresando el siguiente comando:
1 |
telnet localhost 25 |
Verás algo como esto:
1 2 3 4 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . |
Si no puede conectarse, asegúrese de que Postfix se esté ejecutando y verifique que el puerto 25 esté abierto.
Ahora enviemos un correo electrónico para decir [correo electrónico protegido] (atrapar todos los correos electrónicos).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . 220 mailtest ESMTP Postfix ( Ubuntu ) ehlo localhost 250 - li292 - 146.members.linode.com 250 - PIPELINING 250 - SIZE 10240000 250 - VRFY 250 - ETRN 250 - STARTTLS 250 - ENHANCEDSTATUSCODES 250 - 8BITMIME 250 - DSN 250 - SMTPUTF8 250 CHUNKING mail from : bob @ example . com 250 2.1.0 Ok rcpt to : smtptest @ freesmtpservers . com 250 2.1.5 Ok data 354 End data with . Subject : Testing Email service This is a test email . . 250 2.0.0 Ok : queued as A6ADC402D4 quit 221 2.0.0 Bye Connection closed by foreign host . |
Vaya a verificar si el correo electrónico se recibió en la bandeja de entrada para [email protected] , o si usó un destinatario diferente, puede verificarlo en su bandeja de entrada.
Enviar correo electrónico desde la línea de comandos de Linux
En Linux, podemos usar el comando sendmail para enviar correos electrónicos rápidamente.
1 |
echo "Subject: hello" | sendmail - v smtptest @ freesmtpservers . com |
Espero que le guste mi artículo, si cree que me perdí algunos puntos o que me equivoqué en alguna parte, hágamelo saber y lo actualizaré aquí.