¿Qué puerto SMTP debería usar: el puerto 25, 465, 587 o 2525?
Las personas que configuran una aplicación o sistema de correo para enviar (o reenviar) correos electrónicos a menudo tienen una pregunta común: “¿Qué puerto SMTP debería usar?” Puede que vea información que le indique usar los puertos 25, 465, 587 o 2525 para el reenvío SMTP. Entonces, ¿cuál de estos debería ser su puerto SMTP estándar? Aquí está lo que necesita saber, y por qué.
¿Qué es un puerto SMTP?
SMTP (Protocolo Simple de Transferencia de Correo) es el estándar básico que utilizan los servidores de correo para enviar correos electrónicos entre sí a través de Internet. SMTP también es utilizado por aplicaciones como Apple Mail u Outlook para cargar correos electrónicos en servidores de correo que luego los reenvían a otros servidores de correo. (Por otro lado, las aplicaciones de correo típicamente dependen de otros estándares como IMAP o POP3 para recuperar correos electrónicos de los servidores.)
Al igual que otros servicios de Internet, como los sitios web, el correo electrónico SMTP depende de nombres de dominio y direcciones de Internet para saber adónde enviar los mensajes. Todos nosotros hoy estamos familiarizados con la versión textual de estas direcciones, como www.sparkpost.com. La mayoría de nosotros sabemos que la dirección de texto representa una dirección IP numérica como 107.21.246.67. Pero no tantos saben que estas direcciones de red también incluyen números de puerto específicos. Un “puerto SMTP” se refiere a la parte específica de la dirección de Internet que se utiliza para transferir correos electrónicos.
La web y HTTP utilizan el número de puerto 80. Para correo electrónico y SMTP, ese número de puerto es… bueno, depende.
¿Cómo es SMTP diferente de SSL y TLS?
Ambas tecnologías facilitan el envío de correos electrónicos. Mientras que SMTP podría ser el músculo y los huesos del proceso, la Capa de Sockets Segura (SSL) forma la piel para mantener su correo electrónico seguro. SSL funciona con cualquier puerto disponible.
SSL fue el protocolo de seguridad estándar preferido para los puertos de correo electrónico comunes en un pasado no muy lejano. Con la adopción de su descendiente mejorado, la Seguridad de la Capa de Transporte (TLS), las comunicaciones electrónicas se volvieron aún más seguras.
Mientras que ambos protocolos crean un canal privado entre la computadora emisora y la receptora para asegurar las transmisiones, TLS ofrece más alertas que su antecesor y puede ejecutar más funciones hash para mejorar la comunicación encriptada. Hoy en día, muchos correos electrónicos utilizan la convención más actual, STARTTLS, que se combina con los protocolos SSL o TLS para obtener la máxima seguridad.
El protocolo SMTP por sí solo no es tan seguro como podría ser. Usar el método de transferencia en conjunto con uno de los protocolos de seguridad proporciona más protección de encriptación. Para enviar correos electrónicos, SSL y otros protocolos mejoran la transmisión SMTP.
¿Cómo puede averiguar cuál es su puerto SMTP?
Si está suscrito a un servicio de reenvío de correo electrónico alojado, puede obtener el nombre de host del servidor SMTP y el número de puerto desde la página de soporte de su servicio de correo electrónico.
Si ejecuta su propio servidor SMTP, puede encontrar el número de puerto SMTP configurado y la dirección en la configuración del servidor SMTP. En PowerMTA, puede encontrar esa información desde la directiva de “smtp-listener” configurada dentro del archivo de configuración. El archivo de configuración se puede encontrar en /etc/pmta/config en un servidor Linux y C:\pmta\config.dat en Windows Server.
smtp-listener 10.0.1.22:587 # escucha en el puerto 587 y IP 10.0.1.22
¿Qué puerto debería usar para SMTP?
Los puertos 25, 465, 587 o 2525 para SMTP han sido considerados puertos SMTP estándar en algún momento, pero solo 587 o 2525 realmente deberían considerarse para uso moderno.
Si está configurando sus sistemas para utilizar SparkPost como un reenvío SMTP, debería usar el puerto 587 como su puerto SMTP estándar, con el 2525 como una alternativa en caso de que el puerto 587 no esté disponible.
Explicaré por qué mientras revisamos los diferentes puertos comúnmente utilizados para enviar correos electrónicos hoy en día.
Puerto 25: El puerto SMTP estándar original
El puerto 25 es el puerto SMTP estándar original y el más antiguo, ya que debutó por primera vez en 1982. Hoy, la Autoridad de Números Asignados de Internet (IANA), el grupo responsable de mantener el esquema de direccionamiento de Internet, todavía reconoce el puerto 25 como el estándar, puerto SMTP por defecto. SMTP fue designado para utilizar el puerto 25 en el Reglamento de Solicitud de Comentarios (RFC) 821. Pero en la práctica, no es tan simple como parece.
Aunque el puerto 25 continúa usándose para el reenvío SMTP de servidor a servidor, la mayoría de los clientes SMTP modernos no deberían configurarse para usar este puerto. El puerto 25 generalmente es bloqueado por proveedores de servicios de Internet residenciales y proveedores de alojamiento en la nube empresarial por igual porque ha ganado una mala reputación como el puerto preferido para los spammers que envían cantidades masivas de comunicaciones no solicitadas.
¿Por qué el puerto 25 suele estar bloqueado? ¿Cómo puede verificar si está bloqueado?
El puerto 25 está bloqueado en muchas redes para frenar la cantidad de spam que se reenvía desde computadoras o servidores comprometidos. A menos que esté gestionando específicamente un servidor de correo, no debería tener tráfico atravesando este puerto en su computadora o servidor.
Para verificar si el puerto 25 está bloqueado por un ISP:
Si está utilizando Windows, abra su símbolo del sistema. Si está utilizando un Mac, abra su Terminal. Y, si está usando Linux, abra su emulador de Terminal.
Escriba el siguiente comando: telnet examplemailserver.com 25
Si el puerto 25 no está bloqueado, debería recibir un mensaje como este:
user@localhost:~# telnet gmail-smtp-in.l.google.com 25 Intentando 1.2.3.4... Conectado a gmail-smtp-in.l.google.com. El carácter de escape es '^]'. 220 mx.google.com ESMTP 123si3448417qkd.359 - gsmtp
Si recibe un mensaje similar al siguiente, es probable que el puerto 25 esté bloqueado:
telnet: conectar a la dirección XX.XX.XX.XX: Conexión rechazada telnet: No se puede conectar al host remoto
¿Cuándo usaría el puerto 25?
El puerto 25 es el puerto por defecto para el reenvío de correos electrónicos en Internet. Sin embargo, puede especificar cualquier número de puerto (Siempre que esté dentro del rango aceptable de números de puerto personalizados) para enviar correos electrónicos a su servidor SMTP.
Hay casos especiales cuando debe usar el puerto 25 en su servidor SMTP. Uno de esos casos es recibir rebotes fuera de banda/asíncronos. Este tipo de rebotes ocurren después del hecho. Esto significa que el dominio receptor acepta un mensaje de su servidor SMTP, pero luego rebota el mensaje. Los rebotes fuera de banda se envían de manera asíncrona a la dirección de retorno (MAIL FROM) del mensaje original. El dominio receptor intentará enviar estos rebotes al servidor MX de la dirección de retorno y a través del puerto 25 (Porque el puerto 25 es el puerto por defecto para el reenvío de correos electrónicos en Internet). Otro ejemplo es recibir bucles de retroalimentación (FBL).
Puedes habilitar el puerto 25 para recibir mensajes en un servidor PowerMTA configurando la directiva “smtp-listener”
smtp-listener 10.0.1.22:25 # escucha en el puerto 25 y IP 10.0.1.22
Puerto 465: Puerto SMTP obsoleto y fuera de uso
El puerto 465 ya no es un estándar aceptado para SMTP. Sin embargo, hay algunos sistemas heredados que aún utilizan el puerto 465 para SMTP, y algunas páginas de ayuda en Internet aún sugieren el puerto 465 como la configuración recomendada. El puerto adquirió redundancia a finales de la década de 1990, pero sigue dependiendo del método SSL implícito pasivo para establecer una transmisión segura. ¿Nuestro consejo? No lo haga a menos que su aplicación lo requiera absolutamente.
La IANA asignó inicialmente el puerto 465 para una versión encriptada de SMTP llamada SMTPS. Inicialmente, se propuso enviar correos electrónicos utilizando la Capa de Sockets Segura (SSL). Sin embargo, la IANA ha reasignado este puerto para un uso diferente, por lo que ya no debería usarse para SMTP. Esta es la razón por la que SparkPost no acepta conexiones en el puerto 465.
Puerto 587: El puerto SMTP seguro estándar
Los servidores de correo electrónico modernos utilizan el puerto 587 para la presentación segura de correos electrónicos para su entrega. Por ejemplo, si utiliza un software cliente de correo electrónico como Outlook o Apple Mail, es más probable que esté configurado para utilizar este puerto para enviar sus mensajes. No es solo el software cliente de correo electrónico personal, sin embargo. Los sistemas que transmiten mensajes a un servicio de entrega de correo electrónico como SparkPost también deben configurarse para utilizar este puerto.
Todos los clientes de SparkPost deberían usar el puerto 587 por defecto, a menos que usted esté bloqueado explícitamente por su red o proveedor de alojamiento. Utilizar el puerto 587, junto con la encriptación TLS, es la mejor manera de asegurarse de que el correo electrónico se envíe de forma segura y fiable a SparkPost (o casi cualquier otro proveedor).
Puerto 2525: Un puerto SMTP alternativo común
El puerto 2525 no es un puerto SMTP oficial, y no está sancionado por la IETF ni por la IANA. Sin embargo, SparkPost y muchos otros proveedores de servicios de correo electrónico admiten el uso del puerto 2525 como alternativa al puerto 587 para SMTP, en caso de que los puertos anteriores estén bloqueados. (Un ejemplo notable donde esto es necesario es para los servicios alojados en Google Compute Engine.) Si ha intentado el puerto 587 pero experimenta problemas de conectividad, intente el puerto 2525. Al igual que el puerto 587, la mayoría de las implementaciones que escuchan en el puerto 2525 también admiten la encriptación TLS.
¿Importa el puerto SMTP?
Aparte de los desafíos de conectividad, encontrará que usar el puerto incorrecto impacta la entregabilidad. La comunicación por correo electrónico solo puede ser efectiva cuando encuentra su camino entre el remitente y el receptor, y el puerto correcto asegura una entrega exitosa.
Para la mayoría de los usuarios, su proveedor de correo electrónico configurará los puertos por usted, así que no tiene que elegir. Para otros, sin embargo, es importante entender que hay diferentes funciones asignadas a varios puertos diferentes, principalmente desglosados en presentación y reenvío.
Presentación y Reenvío
La presentación es la acción de entregar su comunicación electrónica recién creada a su bandeja de salida con su proveedor de correo electrónico. Si usted y su proveedor están en diferentes puertos, este es el lugar donde el proceso se detiene, su correo electrónico no irá más allá. Cuando están en el mismo puerto, su servidor de correo acepta la comunicación saliente y se da la mano con la computadora del otro lado. Cuando todo está seguro y en acuerdo, se lleva a cabo la transmisión. Ese proceso se conoce como reenvío.
¿Qué es un servidor SMTP?
Un servidor SMTP es una computadora que impulsa el protocolo que su cliente de correo electrónico utiliza al enviar, recibir y/o reenviar mensajes salientes. Como parte del proceso, un servidor SMTP verifica que un remitente esté autorizado para enviar a través del SMTP y, si se permite al remitente enviar y el mensaje se considera no entregable, el servidor SMTP lo enviará de vuelta a la dirección MAIL FROM. PowerMTA es uno de los principales servidores SMTP, ya que permite a los remitentes adoptar las últimas especificaciones de autenticación para enviar correos electrónicos de alto volumen y cumplir con las nuevas políticas de autenticación.
Cómo configurar su servidor SMTP
Cuando se trata de configurar un servidor SMTP, hay dos opciones a explorar. Puede suscribirse a un servicio de reenvío de correo electrónico alojado. SparkPost es un proveedor líder de servicios de entrega de correo electrónico y análisis. Alternativamente, puede configurar su servidor SMTP “local” para tener un control más granular. Un ejemplo es PowerMTA.
Para configurar un servidor PowerMTA, contacte a support@port25.com para obtener el paquete de instalación, licencias e instrucciones de instalación. Toda la configuración de PowerMTA se realiza dentro del archivo de configuración que se encuentra en /etc/pmta/config en un servidor Linux y C:\pmta\config.dat en Windows Server.
Para una configuración básica de su servidor SMTP, hay algunas consideraciones y pasos a seguir.
¿Qué dirección IP y número de puerto desea que su servidor SMTP reciba correos electrónicos? El puerto 25 es el puerto predeterminado para el reenvío de correos electrónicos. En PowerMTA, puede cambiar este número de puerto predeterminado editando la directiva “smtp-listener” en el archivo de configuración. smtp-listener 0/0:25 # escucha en el puerto 25 de todas las IPs locales. También puede especificar un rango CIDR de direcciones IP
o
smtp-listener 10.0.1.22:25 # escucha en el puerto 25 y IP 10.0.1.22
Debe permitir el reenvío de mensajes desde su cliente de correo electrónico a su servidor SMTP. Su servidor SMTP NO debe ser un reenvío abierto. Esto significa que debe permitir el reenvío de manera selectiva. En PowerMTA hay algunas maneras de hacerlo. Puede autenticar con un nombre de usuario y contraseña. PowerMTA admite autenticación con LOGIN, PLAIN o el mecanismo CRAM-MD5 para conexiones entrantes. Esto se configura dentro del usuario SMTP y la sección fuente del archivo de configuración. Para un usuario “foo” y contraseña “barbaz” <smtp-user foo> contraseña barbaz método-de-autenticación contraseña #certificado (TLS) o sistema(usuario de linux) son otras opciones </smtp-user> #Luego requiera autenticación en la sección fuente <source 0/0> require-auth true </source>
También puede permitir selectivamente el reenvío desde una dirección IP específica o rango CIDR. Esto sería la dirección IP de su cliente de correo electrónico.
<source 10.0.5.20> always-allow-relaying yes # permitir la alimentación desde 10.0.5.20 </source>
También puede establecer un nombre/dirección de dominio de destinatario (o patrón) para el que PowerMTA aceptará correo electrónico.
# permitir el reenvío de correo a algunos.dominio relay-domain some.domain relay-address bounce@bounce.tudominio.com relay-address /@foo(bar)?\.com$/ # patrón regex
Otra consideración es si quiere reenviar correos electrónicos de manera segura desde su cliente de correo electrónico a su servidor SMTP (¿TLS entrante?). Si su respuesta es sí, entonces debe habilitar STARTTLS para conexiones entrantes y configurar un certificado TLS. En PowerMTA, TLS es compatible desde TLSv1 hasta TLSv1.3. smtp-server-tls-certificate /etc/pmta/yourcert.pem # Habilitar TLS en conexiones entrantes <source 0/0> allow-starttls true require-starttls-before-auth true #asegura que la información de autenticación se envíe solo a través de tls </source>
¿Desea que su servidor SMTP entregue correos electrónicos de forma segura a servidores remotos (¿TLS saliente?). En PowerMTA tiene la opción de usar TLS si el servidor remoto lo admite o hacer cumplir TLS y rechazar la conexión si el servidor remoto no es compatible con TLS. <domain *> # (*) es un comodín para todos los dominios de destinatarios usar-starttls true # usa TLS si está disponible require-starttls true # impone TLS </domain>
Establezca la dirección IP y el nombre de host desde los cuales su servidor SMTP iniciará conexiones SMTP salientes. En PowerMTA, esto se establece con la directiva smtp-source-host. smtp-source-host 192.168.0.10 mail10.tuservidor.com # También puede especificar un rango CIDR
Finalmente, una característica muy única de PowerMTA es la capacidad de separar su flujo de correo construyendo un host multi-homed. La tecnología VirtualMTA en PowerMTA permite a los usuarios definir y controlar la dirección IP de origen, el nombre de host y los parámetros de entrega de mensajes para cada flujo de correo. Esto permite crear campañas, clientes o departamentos separados y específicos, mientras se ejecuta solo una instancia de PowerMTA.
<virtual-mta mta1> smtp-source-host 1.2.3.4 mta1.tuservidor.com <domain *> use-starttls true require-starttls true retry-after 10m </domain> </virtual-mta> <virtual-mta mta2> smtp-source-host 2.3.4.5 mta2.tuservidor.com <domain *> use-starttls false require-starttls false retry-after 45m </domain> </virtual-mta>
Cuando se complete la configuración básica, puede enviar mensajes a la dirección IP/p puerto configurado de su servidor SMTP (10.0.1.22:25 en el ejemplo anterior) y dependiendo de cómo permita la presentación de correos electrónicos autenticar con el nombre de usuario configurado (foo) y la contraseña (barbaz).
En resumen, el puerto SMTP 587 es la mejor opción para casi todos los casos de uso para conectarse a SparkPost y otros servicios de entrega de correo electrónico.
¡Espero que esta información le haya ayudado a aprender un poco más sobre qué puerto SMTP usar!
Aprender Más
¿Quiere aprender más sobre el uso de SMTP? Aquí están las instrucciones para configurar SparkPost para el reenvío SMTP y la entrega de correos electrónicos, las diferencias entre SMTP y la transmisión de mensajes API, y la resolución de problemas de su conexión SMTP a SparkPost. Su equipo de profesionales en SparkPost también está disponible para proporcionar soporte técnico cuando sea necesario.