Como usar o SMTP para enviar e-mail para algum host?

1

Estou tentando usar o SMTP para enviar e-mails para minha conta em algum servidor (por exemplo, no Gmail).

Até agora eu tentei:

220 mx.google.com ESMTP y14sm3079810ibf.45
HELO
250 mx.google.com at your service
STARTTLS
220 2.0.0 Ready to start TLS
AUTH LOGIN
Connection closed by foreign host.

O que estou fazendo de errado e como posso corrigi-lo, então envio um email como se eu fosse meu próprio servidor?

    
por Mehrdad 14.08.2011 / 08:09

3 respostas

3

O simples envio do comando STARTTLS não coloca a conexão no modo TLS. Você precisa negociar e implementá-lo corretamente .

    
por 14.08.2011 / 08:13
2

O Gmail exige o TLS para enviar e-mails em seu nome. Esse tipo de conexão é necessário quando o seu cliente de e-mail de área de trabalho ou móvel está enviando e-mails da sua conta do Gmail.

No entanto, qualquer servidor de correio normal ainda aceitará uma mensagem para um destinatário nesse servidor sem usar TLS ou qualquer tipo de autenticação. Por exemplo, você pode se conectar a gmail-smtp-in.l.google.com na porta 25 e realizar uma sessão SMTP não criptografada.

Supondo que você seja [email protected], você está conectado ao seu servidor de e-mail mail.mydomain.com, e está enviando uma mensagem para você@seudominio.com, é assim:

  1. dig yourdomain.com mx e observe os resultados (digamos que é mail001.seudomínio.com)
  2. telnet mail001.yourdomain.com 25
  3. Entregar uma mensagem:
HELO mail.mydomain.com
MAIL FROM: [email protected]
RCPT TO: [email protected]
RCPT TO: [email protected]
DATA

From: "Mehrdad" <[email protected]>
To: "Enrique Peñalosa" <[email protected]>
Cc: "Gabriela Peñalosa" <[email protected]>
Date: Fri, 30 Sep 2011 11:21:19 -0700
Subject: Thanks for all the fish!

It was a wonderful picnic. I really enjoyed the salmon burgers.

See you next week,

Mehrdad

.

Advertências:

  1. Backspace não funciona em uma sessão SMTP! Você deveria ser um servidor e os servidores não fazem erros de digitação. Se você estiver experimentando manualmente, é muito melhor compor suas entradas com antecedência para poder copiar e colar cada linha de um editor de texto.
  2. Como suas mensagens não parecem necessariamente vir de um servidor de e-mail genuíno - por exemplo, o servidor de recebimento pode verificar itens como seus registros DNS e SPF reversos - você pode entrar inadvertidamente em conflito com a proteção contra spam no recebendo final. No caso de um destino como o Gmail, é quase garantido que sua mensagem seja detectada como falsificação e enviada diretamente para a pasta de spam.

Para saber mais, consulte o artigo da Wikipédia .

    
por 02.10.2011 / 02:07
1

Você emitiu o comando HELO para seu servidor SMTP. Isso informa que você deseja usar os comandos SMTP originais. STARTTLS não é um desses comandos, portanto, você não deve poder usar STARTTLS .

A primeira etapa para resolver isso é alternar do comando HELO para o comando EHLO . Ao fazer isso, você verá que o servidor SMTP responde com o conjunto de extensões SMTP que ele suporta. Espero que STARTTLS seja listado.

Aqui está uma conversa com o servidor SMTP do GMail:

CLIENT: EHLO me.example.com
SERVER: 250-mx.google.com at your service
SERVER: 250-SIZE 35882577
SERVER: 250-8BITMIME
SERVER: 250-STARTTLS
SERVER: 250 ENHANCEDSTATUSCODES
CLIENT: STARTTLS
SERVER: 220 2.0.0 Ready to start TLS
<negotiation begins here...>
    
por 18.01.2013 / 19:43

Tags