O que há de errado neste codigo para envio de e-mail.
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; :(
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
Curtidas 0
Respostas
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;
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
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
Tente colocar SMTP.Connect, e no evento OnConnect do SMTP vc coloca SMTP.SendMail
GOSTEI 0