muito bom para saber passo a passo o processo de envio

esse texto é 100% original seu? :O
Hi,
O texto é totalmente de minha autoria... Heheh, eu não custumo colocar as notas de que foi eu quem fiz

.
Bye.
Muito bom o texto Dark_Side!
Ótimo texto. É sempre bom saber como as coisas funcionam por trás dos panos.
Eu postei umtexto sobre o handshake de uma conexão SLL aqui que também pode ajudar muito. Dêem uma olhada depois.
HadeS
Hi,
continuando o tutorial sobre como enviar emails utilizando o SMTP.
Iremos abordar:
1) MIME - Conheca e utilize as normas para envio de emails.
2) Enviando emails com conteúdo múltiplo
3) Considerações finais
Bem, no tópico anterior, foi demonstrado como os emails são enviados por SMTP.Nota-se também que o tipo de email enviado, é extremamente simples.
Vamos ver agora, como melhorar nosso email.
O MIME (Extensões Multifunção para Mensagens de Internet), do inglês Multipurpose Internet Mail Extensions, é uma norma da Internet para o formato dos emails.
Este padrão, estabelece várias informaçoes no envio de um email, como arquivos binários contento imagens, sons, etc.
Cabeçalhos do MIME.
Versão do MIME: Como o nome surgere indica a versão do MIME, e consequentemente, indica que o email possui o formato MIME.
Sintaxe: MIME-VERSION: 1.0
Content-Type
Indica o tipo de conteúdo do email, que pode ser: texto puro, html, binário, etc.
Sintaxe: Content-type: TIPO
Tipos de conteúdo mais comuns:
text/plain => texto puro
text/html => html
text/xml => xml
image/gif => imagem gif
image/jpeg => imagem jpg
image/png => imagem png
audio/x-wav => som wav
audio/x-aiff => som aiff
video/mpeg => vídeo mpeg
text/richtext => documento RTF
application/pdf => documento PDF
application/msword => Microsoft Word
application/vnd.ms-powerpoint => Microsoft Powerpoint
application/vnd.ms-excel => Microsoft Excel
application/zip => Arquivo .Zip
application/octet-stream => Arquivos binários em geral, geralmente executáveis (.EXE)
MultiPart
O MIME reserva um limite no header CONTENT-TYPE, para especificar limites em uma mensagem de email, devido a isso, é possível, em um mesmo email, apresentarmos texto puro, html, imagens, anexos, etc.
Sintaxe: Content-type: multipart/mixed; boundary="DIVISAO"
Onde em 'DIVISÃO', estabelecemos um limite entre um tipo de conteúdo e outro.
Exemplo:
Content-type: multipart/mixed; boundary="limite"
--limite
Content-type:text/plain
texto puro
--limite
Content-type: text/html
HTML--limite--
Note, que usamos --limite, para cada divisão de conteúdo, e no final: --limite--.
Content-Transfer-Encoding
Sintaxe: Content-Transfer-Encoding: tipo
Indica como um conteúdo binário deve ser representado.
7bit -> suporta até 998 octetos por linha de código(max 127) finalizada com CRLF (\r\n).
quoted-printable -> utilizado para codificar caracteres não -ASCII em caracteres ASCII.
8bit -> suporta até 998 ocetos por linha de código.
base64 -> O mais utilizado para arquivos binários.
Content-Disposition
Sintaxe: Content-Disposition: local
Para local, temos:
inline => o conteúdo será apresentado no corpo da mensagem
attachment => o conteúdo será apresentando na forma de anexo.
Neste último, necessitamos especificar o nome do arquivo. Observe:
Content-Disposition: attachment; filename="arquivo.extensao"
Bem, este são os principais headers do MIME.
Vamos agorar, colocar em prática.
2) Enviando emails com conteúdo múltiplo
Observe:
telnet smtp.meuservidor.com 25
helo localhost
auth login
bWV1bG9naW4
=bWluaGFzZW5oYQ==
MAIL FROM: <email@hi.com.br>
RCPT TO: <teste@teste.com.br>
DATA
From: eu!
Subject: lol
MIME-VERSION: 1.0
Content-type: multipart/mixed; boundary="limite"
--limite
Content-Type: text/html
<font color=red>Este é um exemplo de como usar HTML em emails.
--limite
Content-Type: image/gif
Content-Disposition: inline
Content-Tranfer-Enconding: base64
Q29sb2Nhcu1hbW9zIGFxdWksIG8gY/NkaWdvIGZvbnRlIGNvbXBsZXRvIGRhIGltYWdlbSByZWZlcmlkYSwgY3JpcHRvZ3JhZmFkYSBlbSBCQVNFIDY0Lg==
--limite
Content-Type: application/zip
Content-Disposition: attachment;filename="anexo.zip"
Content-Tranfer-Enconding: base64
Q29sb2Nhcu1hbW9zIGFxdWksIG8gY/NkaWdvIGZvbnRlIGNvbXBsZXRvIGRvIGFycXVpdm8gLlpJUCByZWZlcmlkbywgY3JpcHRvZ3JhZmFkYSBlbSBCQVNFIDY0Lg==
--limite--
.
Obs:: Observere os espaços entre uma linha e outra.
Após preencher os cabeçalhos, é necessário enviar uma linha nula (\n\r) antes de iniciar a sua mensagem.
3) Considerações finais
Bem, fica aqui o básico sobre o envio de emails com SMTP.
Espero que tenha ajudado alguém e que possam deselvolver algo emcima disso.
Se tiver tempo, pretendo deselvolver e postar um programa feito em C/C++ para colocar em prática o conteúdo aqui apresentado na área de programação.
Bye.
Bom, depois desse tuto nêm tenho o que dizer.
Excelênte trabalho Dark_Side , você sempre está contribuindo com o forum. ;D