Buscar

Enviando e-mail pelo delphi com autenticação

Código

{Bom, depois de inúmeras tentativas fracassadas de fazer o Delphi enviar um e-mail, finalmente consegui!! É valido lembrar que este exemplo foi testado com o serviço de e-mails Yahoo, não sei se funciona com outro... Em primeiro lugar vc deve habilitar a função de envio e recebimento POP e SMTP da sua conta de e-mail... Vai nas opções da conta que você encontra... Agora vamos ao Delphi, este foi desenvolvido em Delphi 6, mas os componentes existem nos outros, mas talves estejam em paletas diferentes...

Bom, adicione um componente TidSMTP da paleta Indy Clients e um TidMessage da paleta Indy Misc e um botão.}


//Abaixo estão as configurações dos componentes, altere-as DIRETAMENTE NO OBJECT INSPECTOR, pq c vc colocar estes comando no OnCreate do form ou outra procedure, ela estara sujeita a erro.

//Altere o Name do componente TidSMTP para 'SMTP' e o do componente TidMessage para 'MSG'.

SMTP.AuthenticationType := atLogin;
SMTP.Host := 'smtp.mail.yahoo.com.br'; //Este é o servidor smtp do Yahoo, coloque o do seu servidor
SMTP.Password := 'sua senha';
SMTP.Port := 587; // Esta é a porta smtp do Yahoo coloque a do seu servidor
SMTP.SocksInfo.Authentication := saUsernamePassword;
SMTP.SocksInfo.Host := 'smtp.mail.yahoo.com.br'; //novamente coloque o servidor smtp de seu e-mail
SMTP.SocksInfo.Password := 'sua senha';
SMTP.SocksInfo.Port := 587; // coloque novamente a porta smtp de seu servidor.
SMTP.SocksInfo.UserID := 'seu login'; // sem o complemento (@servidor.com.br)
SMTP.SocksInfo.Version := svNoSocks;
SMTP.UserId := 'seu login'; // novamente sem o “@servidor.com.br”

MSG.Body := ''; // aqui vai a mensagem da seu e-mail, infelizmente este modelo não permite anexar arquivos mas se o caso for um documento de texto, como na maioria das vezes, vc pode trocar esta linha pela sintaxe: MSG.Body.LoadFromFile(‘C:arquivo.txt’); indicando o caminho completo do arquivo e sua extensão
MSG.CCList := ''; // CC, é opcional
MSG.From.Address := 'seu e-mail'; // completo
MSG.From.Name := 'seu nome';
MSG.ReceiptRecipient.Address := 'seu e-mail'; //completo
MSG.ReceiptRecipient.Name := 'seu nome';
MSG.Recipients // ressaltando para vc fazer todos estes passos pelo Object Inspector, aqui você clica nos "..." ao lado da propriedade, irá abrir uma nova janela, nela clique no botão Novo e no campo Address você coloca o email do destinatario.
MSG.ReplyTo // mesma coisa do Recipients, envia uma replica do e-mail
MSG.Sender.Address := 'seu e-mail'; //completo
MSG.Sender.Name := 'seu nome';
MSG.Subject := 'assunto do e-mail';

//Então no OnClick do botão coloque as segintes linhas:

SMTP.Connect;
SMTP.Send(MSG);
SMTP.Disconnect;
ShowMessage('Menssagem enviada com sucesso!');

{Bom, expliquei o máximo que pude, espero ter ajudado}

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Rede
Adicionada dia: 28/12/05
Por: Andriel Marini
Visualizada: 21400 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009