O que há de errado neste codigo para envio de e-mail.

Delphi

02/02/2003

ele nunca consegue conectar e da mensagens como hostlockup ou socket not conected etc algo parecido....

vamos ao codigo:

procedure TForm1.Button1Click(Sender: TObject);
begin
{ Host do servidor de e-mail }
NMSMTP1.Host := ´smtp.ig.com.br´;

NMSMTP1.Port := 25;

{ Nome de login do usuário }
NMSMTP1.UserID := ´xcap@ig.com.br´;

NMSMTP1.Connect;

if not NMSMTP1.Connected then
showmessage(´nao´);

with NMSMTP1.PostMessage do begin
{ E-mail do remetente }
FromAddress := ´xcap@ig.com.br´;

{ Nome do remetente }
FromName := ´Carlos Adriano Portes´;

{ E-mail do destinatário }
ToAddress.Clear;
ToAddress.Add(´haguen@globo.com´);

Subject := ´Teste do programa de envio de e-mail!!!´;

{ Corpo da mensagem }
Body.Clear;
Body.Add(´Primeira linha da mensagem´);
Body.Add(´Segunda linha da mensagem´);
Body.Add(´´); { Linha em branco }
Body.Add(´Última linha da mensagem´);
{ Anexar arquivos }
// Attachments.Clear;
// Attachments.Add(´c:\diretorio\arquivo.ext´);
end;
NMSMTP1.SendMail;
NMSMTP1.Disconnect;
showmessage(´E-mail enviado com sucesso!!!´);
end; :(


Anonymous

Anonymous

Curtidas 0

Respostas

Skaarj

Skaarj

02/02/2003

Coloquei um componente NMPOP3 e antes dos comandos do NMSMTP eu coloquei esses do NMPOP3:

NMPOP31.AttachFilePath := ´.´;
NMPOP31.DeleteOnRead := FALSE;
NMPOP31.ReportLevel := Status_Basic;
NMPOP31.TimeOut := 20000;
NMPOP31.Host := ´pop3.uol.com.br´;
NMPOP31.Port := 110;
NMPOP31.UserID := ´SKAARJ´; //usuario
NMPOP31.Password := ´jinglebellsnaterradopapainoel´; //senha
NMPOP31.Connect;
if not NMPOP31.Connected then exit else NMPOP31.Disconnect;
NMSMTP1.ClearParams := TRUE;
NMSMTP1.Host := ´smtp.uol.com.br´
NMSMTP1.Port := 25;
NMSMTP1.UserID := ´SKAARJ´ //usuario d vlta
NMSMTP1.Connect;
If not NMSMTP1.Connected then exit;
NMSMTP1.PostMessage.Body.Clear;
NMSMTP1.PostMessage.ToAddress.Clear;
NMSMTP1.PostMessage.FromAddress := skaarj@uol.com.br´ //remetente
NMSMTP1.PostMessage.FromName := SKAARJ WARRIOR´ //nome do remetente
NMSMTP1.PostMessage.Body.Add(´Teste de envio de email´); //corpo
NMSMTP1.PostMessage.Subject := (´Teste de Envio´); //assunto
NMSMTP1.PostMessage.ToAddress.Add(´skaarj_wps@hotmail.com´);//destinatario
NMSMTP1.SendMail;


GOSTEI 0
Anonymous

Anonymous

02/02/2003

O problema é que vc ta mandando enviar o email (SMTP.SendMail) não estando conectado...
Tente colocar SMTP.Connect, e no evento OnConnect do SMTP vc coloca SMTP.SendMail


GOSTEI 0
POSTAR