Enviar E-mail...não funciona..JAMAIS

Delphi

22/06/2005

Estou usando Indy10 e Delphi 2005...

já não sei mais o que fazer...já tentei fazer de tudo...não consigo enviar e-mail´s pelo delphi...todo mundo faz menos eu :oops:

bom ai vai o código q estou fazendo...é um código de testes
  IdMessage1.ContentType := ´text/html´;
  IdMessage1.Subject := ´Título´;
  IdMessage1.Body.Add(´1° Linha´);
  IdMessage1.Body.Add(´2° Linha´);
  IdMessage1.Body.Add(´3° Linha´);
  IdMessage1.From.Address := ´emailremetente@gmail.com´;
  IdMessage1.From.Name := ´Alan´;
  IdMessage1.From.Text := ´texto do from´;
  IdMessage1.Recipients.Clear;
  IdMessage1.Recipients.Add.Address := ´emaildequemrecebe@gmail.com´;

  wErro := ´´;

// Conecto pop por alguns SMTP só conectam depois do POP3
  try
   IdPOP31.Host := ´pop3.bol.com.br´;
   IdPOP31.Port := 110;
   IdPOP31.Username := ´usuario´;
   IdPOP31.Password := ´senha´;
   try
    IdPOP31.Connect;
    wErro := ´Nenhum Erro com POP3´;
   except
    on E:Exception do
      wErro := ´Erro: ´+E.Message;
   end;
  finally
   IdPOP31.Disconnect;
  end;

  try
  IdSMTP1.Host := ´smtp.bol.com.br´;
  IdSMTP1.Port := 25;     // gmail a porta é 465
  IdSMTP1.Username := ´usuario´;
  IdSMTP1.Password := ´senha´;
//  IdSMTP1.AuthType := atDefault;
  try
  IdSMTP1.Connect;
  wErro := wErro + #13+´Nenhum Erro com SMTP´;
  except
    on E:Exception do
      wErro := wErro + 13+´Erro: ´+E.Message;
  end;
  if (IdSMTP1.Connected) then
      IdSMTP1.SendMsg(IdMessage1)
  finally
    IdSMTP1.Disconnect;
  end;
  ShowMessage(wErro);



Se alguem puder me dar alguma ajuda..eu agradeço muuuuuuuito...

Abraços a todos


Alansvieceli

Alansvieceli

Curtidas 0

Respostas

Massuda

Massuda

22/06/2005

Estou usando Indy10 e Delphi 2005...
Ainda estou no Indy 9 + Delphi 5.

já não sei mais o que fazer...já tentei fazer de tudo...não consigo enviar e-mail´s pelo delphi...todo mundo faz menos eu :oops:
Quando a gente fala que é preciso conectar primeiro no servidor POP3 e depois no servidor SMTP, na verdade quer dizer que você deve conectar no POP3, conectar no SMTP, enviar o(s) email(s), desconectar do SMTP e finalmente desconectar do POP3, ou seja você deve permanecer conectado no servidor POP3 enquanto acessa o servidor SMTP.


GOSTEI 0
Alansvieceli

Alansvieceli

22/06/2005

Cara...valeu ai..
fiz o que tu falou..Conectei no POP, ´mandei´ o e-mail, só q não rolou....não enviou denovo...

o estranho é q não da erro...apenas envia mas eu não recebo....


GOSTEI 0
Massuda

Massuda

22/06/2005

...o estranho é q não da erro...apenas envia mas eu não recebo....
Algumas sugestões...[list:ce26b504ab][*:ce26b504ab]apenas para teste, não envie mensagens HTML, ou seja, deixe o IdMessage1.ContentType como sendo ´text/plain´[*:ce26b504ab]envie a mensagem com cópia (CC) para outra conta de email em outro provedor[*:ce26b504ab]verifique se a conta que está (ou deveria estar) recebendo os emails tem algum tipo de filtro contra spam ativo[*:ce26b504ab]experimente usar outro provedor para envio dos emails[/list:u:ce26b504ab]Note que muitos servidores POP reconhecem emails enviados pelo Indy como sendo spam.


GOSTEI 0
Alansvieceli

Alansvieceli

22/06/2005

Blz..o e-mail funcionou...
o problema é q não consigo anexar...:(

estou usando Indy10 e Delphi 2005


GOSTEI 0
Alansvieceli

Alansvieceli

22/06/2005

Se puder ajudar, ai está o código (ou parte dele) q eu estou fazendo..

o problema é q quando chega na hora de enviar..ele para..não da erro, nem nada..só fica congelado..se algume ja anexou arquivos usando o Indy10...e puder me ajudar..eu agradeço...

Var
  wIdMessage: TIdMessage;
  wIdPop3: TIdPOP3;
  wIdSmtp: TIdSMTP;
  wAnexo: TIdAttachment;

begin
.
.
.
     wAnexo := TIdAttachment.Create(wIdMessage.MessageParts);
     wAnexo.ContentType := ´multipart´;
     wAnexo.FileName := TFileName("D:\tmp\teste.txt");
     wIdMessage.DoCreateAttachment(wAnexo.Headers,wAnexo);
.
.
.
    wIdSmtp.Connect;
    wIdSmtp.Send(wIdMessage);
.
.
.



GOSTEI 0
Massuda

Massuda

22/06/2005

Se puder ajudar, ai está o código (ou parte dele) q eu estou fazendo.. o problema é q quando chega na hora de enviar..ele para..não da erro, nem nada..só fica congelado..
No [b:884163bcae]Indy 9[/b:884163bcae], para anexar arquivos seria mais ou menos assim...
Var 
  IdMessage: TIdMessage; 
...
  TIdAttachment.Create(IdMessage.MessageParts, TFileName(´D:\tmp\teste.txt´));
...
...sem a necessidade de fazer qualquer outra coisa; geralmente você não precisa alterar as propriedades do TIdAttachment criado dessa forma.


GOSTEI 0
Alansvieceli

Alansvieceli

22/06/2005

Isso não existe no Indy 10..

  TIdAttachment.Create(IdMessage.MessageParts, TFileName(´D:\tmp\teste.txt´));


agora é assim...
  TIdAttachment.Create(IdMessage.MessageParts)


e também tem esse
  TIdAttachmentFile.Create(IdMessage.MessageParts, TFileName(´D:\tmp\teste.txt´));

mesmo esse código acima não ta funcionando...

Esse indy 10 mudou...por isso a dificuldade q eu estou pra mandar esse aquivo em anexo..ele anexa em binario na mensagem..coloca um monte de letras do corpo da menssagem....

mas valeu a força..se souber de mais alguma coisa..por favor..


GOSTEI 0
Massuda

Massuda

22/06/2005

Isso não existe no Indy 10...
Eu não uso essa versão porque considero ela algo meio ´beta´ ainda... mas sei que tem casos que não tem jeito, precisa ser essa versão.

Já experimentou baixar e dar uma olhada no demo que tem na [url=http://www.indyproject.org/Sockets/Demos/index.iwp]página do Indy[/url] (demo do IdPOP3/IdSMTP/IdMessage)?


GOSTEI 0
Alansvieceli

Alansvieceli

22/06/2005

eu só usos ela pq veio junto com o Delphi 2005 :(


GOSTEI 0
Massuda

Massuda

22/06/2005

Talvez valesse a pena instalar a versão mais recente disponível [url=http://www.indyproject.org/Sockets/Download/Files/Indy10.iwp]nesta página[/url] do Indy? Não faço idéia de como trocar sua versão, mas como eles estão trabalhando no Indy 10, pode ser que algum bug do Indy que eventualmente esteja te atrapalhando tenha sido resolvido.


GOSTEI 0
Ricardopinheiro

Ricardopinheiro

22/06/2005

[quote:363a5dd375=´alansvieceli´]...o estranho é q não da erro...apenas envia mas eu não recebo....
Algumas sugestões...[list:363a5dd375][*:363a5dd375]apenas para teste, não envie mensagens HTML, ou seja, deixe o IdMessage1.ContentType como sendo ´text/plain´[*:363a5dd375]envie a mensagem com cópia (CC) para outra conta de email em outro provedor[*:363a5dd375]verifique se a conta que está (ou deveria estar) recebendo os emails tem algum tipo de filtro contra spam ativo[*:363a5dd375]experimente usar outro provedor para envio dos emails[/list:u:363a5dd375]Note que muitos servidores POP reconhecem emails enviados pelo Indy como sendo spam.[/quote:363a5dd375] Legal, mas como faço para indicar o CC? e acho que o problema desta comunicação era resolvido com o ´text/plain´.


GOSTEI 0
Massuda

Massuda

22/06/2005

...como faço para indicar o CC?
Faça algo assim:
IdMessage1.CCList.EMailAddresses := ´fulano@example.com;cicrano@example.com;beltrano@example.com´;



GOSTEI 0
POSTAR