Todos os produtos
Search
Central de documentação

Direct Mail:Envio de e-mails via SMTP

Última atualização: Jun 27, 2026

O Direct Mail oferece suporte a SMTP e permite enviar e-mails programaticamente com bibliotecas SMTP de qualquer linguagem ou ferramentas padrão de linha de comando.

Pré-requisitos

Antes de enviar e-mails via SMTP, defina uma senha SMTP para o endereço de remetente.

  1. Faça login no console do Direct Mail.

  2. No painel de navegação à esquerda, clique em Sender Addresses.

  3. Localize o endereço de remetente desejado e clique em Set SMTP Password na coluna Actions.

  4. Insira uma senha SMTP e clique em OK.

Funcionamento do envio SMTP

O Simple Mail Transfer Protocol (SMTP) transfere mensagens mediante troca de comandos e respostas entre cliente e servidor. O cliente envia um comando e o servidor retorna uma confirmação. O remetente controla esse processo.

Para consultar a especificação completa do protocolo, acesse RFC5321.

Os servidores SMTP dividem-se em duas categorias:

  • smtpd (servidor de envio de e-mail): exige autenticação do remetente antes de aceitar mensagens de saída.

  • mx (servidor de recebimento de e-mail): aceita mensagens de entrada entregues de domínios externos para usuários locais.

O servidor do Direct Mail atua como smtpd. O nome de usuário para autenticação deve corresponder exatamente ao endereço de remetente, e a senha deve ser aquela definida no console.

Para enviar e-mails pelo código da aplicação, use uma biblioteca SMTP compatível com sua linguagem em vez de comandos SMTP brutos. Consulte Exemplos de chamada SMTP.

Detalhes da conexão

Parâmetro

Valor

Host

smtpdm.aliyun.com

Porta (não criptografada)

80

Porta (TLS/SSL)

465

Autenticação

AUTH LOGIN com nome de usuário e senha codificados em Base64

Nome de usuário

Seu endereço de remetente (ex.: sender@example.com)

Senha

A senha SMTP definida no console do Direct Mail

Fluxo da sessão SMTP

Toda sessão SMTP segue esta sequência:

  1. Conecte-se ao servidor SMTP usando telnet (não criptografado) ou openssl s_client (TLS).

  2. Envie EHLO para identificar o cliente e negociar capacidades.

  3. Envie AUTH LOGIN e forneça as credenciais codificadas em Base64.

  4. Envie MAIL FROM para especifique o endereço do remetente.

  5. Envie RCPT TO para especifique o endereço do destinatário.

  6. Envie DATA seguido pelos cabeçalhos e pelo corpo da mensagem.

  7. Envie . (um ponto isolado) para sinalizar o fim do corpo da mensagem.

  8. Envie QUIT para encerrar a sessão.

Exemplos

Os exemplos abaixo demonstram sessões SMTP completas com ferramentas de linha de comando. S: indica a resposta do servidor; C: indica o comando do cliente. No Linux, use echo -n Content|base64 para codificar valores em Base64.

Não criptografado (porta 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

Criptografado (porta 465, TLS)

Primeiro, conecte-se com o OpenSSL. Escolha um dos comandos abaixo conforme a versão do TLS desejada:

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

Após conectar-se ao OpenSSL, insira os comandos a seguir na mesma janela, uma linha por vez:

$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

Corpo da mensagem e MIME

Os exemplos acima usam corpo de texto simples. Para e-mails com formatação rica (HTML, anexos, assuntos codificados), formate a mensagem conforme a especificação Multipurpose Internet Mail Extensions (MIME). A formatação MIME correta reduz a probabilidade de o servidor de e-mail do destinatário classificar a mensagem como spam.

Para consultar a especificação MIME, acesse RFC2045. Também é possível usar bibliotecas específicas da linguagem nos exemplos de SMTP do Direct Mail para criar mensagens codificadas em MIME.

Para um exemplo passo a passo, consulte Como envio um e-mail com anexo usando SMTP?