Todos los productos
Search
Centro de documentos

Direct Mail:Envío de correos electrónicos mediante SMTP

Última actualización: Sep 03, 2026

Direct Mail admite SMTP, lo que permite enviar correos electrónicos mediante programación con la biblioteca SMTP de cualquier lenguaje o herramientas estándar de línea de comandos.

Requisitos previos

Antes de enviar correos electrónicos por SMTP, configure una contraseña SMTP para su dirección de remitente.

  1. Inicie sesión en la consola de Direct Mail.

  2. En el panel de navegación izquierdo, haga clic en Sender Addresses.

  3. Localice la dirección de remitente que desea usar y haga clic en Set SMTP Password en la columna Actions.

  4. Introduzca una contraseña SMTP y haga clic en OK.

Funcionamiento del envío SMTP

El protocolo Simple Mail Transfer Protocol (SMTP) transfiere mensajes mediante un intercambio de comandos y respuestas entre un cliente y un servidor. El cliente envía un comando y el servidor devuelve una confirmación. El remitente controla este proceso.

Para consultar la especificación completa del protocolo, revise RFC5321.

Los servidores SMTP se clasifican en dos categorías:

  • smtpd (servidor de envío de correo): requiere autenticación del remitente antes de aceptar mensajes salientes.

  • mx (servidor de recepción de correo): acepta mensajes entrantes entregados desde dominios externos a usuarios locales.

El servidor de Direct Mail es un servidor smtpd. El nombre de usuario de autenticación debe coincidir exactamente con la dirección de remitente, y la contraseña es la que configuró en la consola.

Para enviar correos electrónicos desde el código de una aplicación, use una biblioteca SMTP correspondiente a su lenguaje en lugar de comandos SMTP sin procesar. Consulte SMTP call examples.

Detalles de conexión

Parámetro

Valor

Host

smtpdm.aliyun.com

Puerto (sin cifrar)

80

Puerto (TLS/SSL)

465

Autenticación

AUTH LOGIN con nombre de usuario y contraseña codificados en Base64

Nombre de usuario

Su dirección de remitente (por ejemplo, sender@example.com)

Contraseña

La contraseña SMTP configurada en la consola de Direct Mail

Flujo de sesión SMTP

Cada sesión SMTP sigue esta secuencia:

  1. Conéctese al servidor SMTP mediante telnet (sin cifrar) o openssl s_client (TLS).

  2. Envíe EHLO para identificar al cliente y negociar capacidades.

  3. Envíe AUTH LOGIN y proporcione las credenciales codificadas en Base64.

  4. Envíe MAIL FROM para especificar la dirección del remitente.

  5. Envíe RCPT TO para especificar la dirección del destinatario.

  6. Envíe DATA seguido de los encabezados y el cuerpo del mensaje.

  7. Envíe . (un punto solo) para indicar el final del cuerpo del mensaje.

  8. Envíe QUIT para cerrar la sesión.

Ejemplos

A continuación, los ejemplos muestran sesiones SMTP completas mediante herramientas de línea de comandos. S: representa la respuesta del servidor; C: representa el comando del cliente. En Linux, use echo -n Content|base64 para codificar valores en Base64.

Sin cifrar (puerto 80)

$telnet smtpdm.aliyun.com 80
S:220 smtp.aliyun-inc.com MX AliMail Server(127.0.0.1)
C:EHLO test.com
S:250-smtp.aliyun-inc.com
S:250-8BITMIME
S:250-AUTH=PLAIN LOGIN XALIOAUTH
S:250-AUTH PLAIN LOGIN XALIOAUTH
S:250-PIPELINING
S:250 DSN
C:AUTH LOGIN
S:334 dXNlcm5hbWU6
C:YSoqKkBleGFtcGxlLm5ldA==         Note: The Base64 encoding of the username a***@example.net.
S:334 UGFzc3dvcmQ6
C:dGVzdA==                     Note: The Base64 encoding of the user password test.
S:235 Authentication successful
C:MAIL FROM: <a***@example.net>   Note: Enclose the sender address in angle brackets (<>).
S:250 Mail Ok
C:RCPT TO: <a***@example.net>
S:250 Rcpt Ok
C:DATA
S:354 End data with <CR><LF>.<CR><LF>
C:subject: test
C:from: <a***@example.net>
C:to: <a***@example.net>
C:
C:test
C:.
S:Data Ok: queued as freedom ###envid=148316944
C:QUIT
S:221 Bye

Cifrado (puerto 465, TLS)

Primero, conéctese con OpenSSL. Elija uno de los siguientes comandos según la versión de TLS que desee usar:

openssl s_client -connect smtpdm.aliyun.com:465 -crlf
or
openssl s_client -connect smtpdm.aliyun.com:465 -tls1 -cipher AES128-SHA -crlf
openssl s_client -connect smtpdm.aliyun.com:465 -tls1_1 -cipher AES128-SHA -crlf
openssl s_client -connect smtpdm.aliyun.com:465 -tls1_2 -cipher AES128-GCM-SHA256 -crlf
openssl s_client -connect smtpdm.aliyun.com:465 -tls1_3 -cipher AES128-GCM-SHA256 -crlf

Una vez que OpenSSL establezca la conexión, introduzca los siguientes comandos en la misma ventana, uno por línea:

$openssl s_client -connect smtpdm.aliyun.com:465 -crlf
***
***
***
S:220 DirectMail Smtpd Server(127.0.0.1)
C:EHLO test.com
S:250-smtp.aliyun-inc.com
S:250-8BITMIME
S:250-AUTH=PLAIN LOGIN XALIOAUTH
S:250-AUTH PLAIN LOGIN XALIOAUTH
S:250-PIPELINING
S:250 DSN
C:AUTH LOGIN
S:334 dXNlcm5hbWU6
C:YSoqKkBleGFtcGxlLm5ldA==          Note: The Base64 encoding of the username a***@example.net.
S:334 UGFzc3dvcmQ6
C:dGVzdA==                        Note: The Base64 encoding of the user password test.
S:235 Authentication successful
C:MAIL FROM: <a***@example.net>  Note: Enclose the sender address in angle brackets (<>).
S:250 Mail Ok
C:rcpt to: <a***1@example.net>  Note: Use lowercase for rcpt to. Uppercase may not be recognized.
S:250 Rcpt Ok
C:DATA
S:354 End data with <CR><LF>.<CR><LF>
C:subject: test
C:from: <a***@example.net>
C:to: <a***1@example.net>
C:
C:test
C:.
S:250 Data Ok: queued as freedom ###envid=600000105713504612
C:QUIT
S:DONE

Cuerpo del mensaje y MIME

Los ejemplos anteriores usan un cuerpo de texto plano. Para correos electrónicos con formato enriquecido (HTML, archivos adjuntos, asuntos codificados), formatee el mensaje conforme a la especificación Multipurpose Internet Mail Extensions (MIME). Un formato MIME correcto reduce la probabilidad de que el servidor de correo del destinatario marque el mensaje como spam.

Para consultar la especificación MIME, revise RFC2045. También puede usar las bibliotecas específicas de cada lenguaje incluidas en los ejemplos SMTP de Direct Mail para crear mensajes codificados en MIME.

Para ver un ejemplo paso a paso, consulte How do I send an email with an attachment using SMTP?