Utilizando o protocolo SMTP
O protocolo SMTP (Simple Mail Transfer Protocol) é utilizado para transporte de email, para o envio. Não vou utilizar nenhuma linguagem neste exemplo, talvez façamos isso em outro momento.
Voce me pergunta: "mas para que eu vou utilizar isso tudo se eu poço utilizar as funções da linguagem?"
A resposta é simples. Muitas vezes voce não possui um servidor SMTP para poder configurar seu ambiente, muitas vezes vc não tem acesso às configurações da sua linguagem, muitas vezes as funções não te dão um controle sobre o protocolo.
Bem, como sabem, a primeira coisa é fazer uma conexão ao servidor. Usarei neste artigo um programinha legal chamado telnet, que existe em todas as plataformas que ue ja utilizei até hoje.
Basicamente, o protocolo funciona como uma conversa: ele diz uma coisa, vc reponde outra e assim vai.
aqui vai um exemplo de uma boa "conversa", onde S é a mensagem do servidor, e C é o que eu enviei para ele:
C -> HELO 172.16.1.17
S <- 250 meusmtp.com.br
C -> MAIL FROM: bruno.goncalves@meusmtp.com.br
S <- 250 <bruno.goncalves@meusmtp.com.br> Sender OK
C -> RCPT TO: bruno.goncalves@meusmtp.com.br
S <- 250 <bruno.goncalves@meusmtp.com.br> Recipient OK
C -> DATA
S <- 354 Start mail input; end with <CRLF>.<CRLF>
C -> From: Bruno Pitteli Goncalves <bruno.goncalves@meusmtp.com.br>
C -> To: bruno.goncalves@meusmtp.com.br
C -> Subject: Meu email
C -> Date: 03 Oct 08 15:17:08
C -> MIME-Version: 1.0
C -> Content-Type: multipart/mixed; boundary=3b3eca70233f497d385f5c2f23ae36b0
C -> –3b3eca70233f497d385f5c2f23ae36b0
C -> Content-Type: text/html; charset=ISO-8859-1
C ->
C -> <b> OLA </b>
C ->
C -> .
S <- 250 OK: <6ff58d5c000380e4@meusmtp.com.br>
C -> QUIT
bem, para mais comandos, como autenticação e outras coisas, sempre é bom consultar os bons e velhos RFCs (http://james.apache.org/server/rfclist/smtp/rfc0821.txt)
Valeu!