Fórum Enviar Email com Delphi #453365

27/08/2013

0

Boa tarde a todos !!!

Amigos ja tentei de tudo, pesquisei aqui no forum na internet e não conseguir enviar Email com delphi usando componentes nativos do proprio delphi ou componentes de terceiros. Se alguém poder me ajuda desde ja agradeço.
Izaias Bezerra

Izaias Bezerra

Responder

Posts

27/08/2013

Ewerton Rodrigues

var
  percor, PegaTam: integer;
begin

  // Pega o Tamanho do Texto para ver até onde o i pode ir
  PegaTam := Texto.Count;
  PegaTam := PegaTam - 1;

  // ShowMessage(IntToStr(Texto.Count));

  for percor := 0 to Texto.Count do
   begin
      // ShowMessage('O conteúdo original da linha ' + IntToStr(i) + ' é ' + Texto[i]);      
      if i < PegaTam then
      begin
        Inc(i);
      end;
   end;

  IdMessage.Recipients.EMailAddresses := LerRecebe_EmailErros;
  IdMessage.Subject :=  'Erro ' + FormPrincipal.Caption;

  //------------------------------------------------------------
  // Aqui adiciona os texto que vão ir junto com o email de erro
  //------------------------------------------------------------
  Texto.Add(ONDE_DEU_ERRO);
  // Só para dá um espaço
  OQUE_ESTA_FAZENDO := #13 + OQUE_ESTA_FAZENDO;
  Texto.Add(OQUE_ESTA_FAZENDO);
  // PegaStatus_dos_Bancos();
  // Texto.Add(COMO_ESTA_OS_BD);

  IdMessage.Body := Texto; 

  try
    TIdAttachmentFile.Create(IdMessage.MessageParts, TFileName(Caminho_APPDATA_Agente + '.......txt'));
  except
    // Não acontece NADA
  end;
  try
    TIdAttachmentFile.Create(IdMessage.MessageParts, TFileName('........'));
  except
    // Não acontece NADA
  end;

  IdSMTP.Connect;

  if LerVerMSG = True then
  begin
    ShowMessage('Conectou no email');
  end;

  try
    IdSMTP.Send(IdMessage);
  finally
    IdSMTP.Disconnect;
  end;

  if LerVerMSG = True then
  begin
    Application.MessageBox('Email enviado com sucesso!', 'Confirmação', MB_ICONINFORMATION + MB_OK);
  end;


Este é o código que eu uso para enviar o EMAIL onde está ...... é de propósito pois é informações minhas

O SEGREDO está no componentes idSMTP e idMESSAGE nativo do delphi mesmo é só pesquisar

até mais.
Responder

Gostei + 0

27/08/2013

Ewerton Rodrigues

var
  percor, PegaTam: integer;
begin

  // Pega o Tamanho do Texto para ver até onde o i pode ir
  PegaTam := Texto.Count;
  PegaTam := PegaTam - 1;

  // ShowMessage(IntToStr(Texto.Count));

  for percor := 0 to Texto.Count do
   begin
      // ShowMessage('O conteúdo original da linha ' + IntToStr(i) + ' é ' + Texto[i]);      
      if i < PegaTam then
      begin
        Inc(i);
      end;
   end;

  IdMessage.Recipients.EMailAddresses := LerRecebe_EmailErros;
  IdMessage.Subject :=  'Erro ' + FormPrincipal.Caption;

  //------------------------------------------------------------
  // Aqui adiciona os texto que vão ir junto com o email de erro
  //------------------------------------------------------------
  Texto.Add(ONDE_DEU_ERRO);
  // Só para dá um espaço
  OQUE_ESTA_FAZENDO := #13 + OQUE_ESTA_FAZENDO;
  Texto.Add(OQUE_ESTA_FAZENDO);
  // PegaStatus_dos_Bancos();
  // Texto.Add(COMO_ESTA_OS_BD);

  IdMessage.Body := Texto; 

  try
    TIdAttachmentFile.Create(IdMessage.MessageParts, TFileName(Caminho_APPDATA_Agente + '.......txt'));
  except
    // Não acontece NADA
  end;
  try
    TIdAttachmentFile.Create(IdMessage.MessageParts, TFileName('........'));
  except
    // Não acontece NADA
  end;

  IdSMTP.Connect;

  if LerVerMSG = True then
  begin
    ShowMessage('Conectou no email');
  end;

  try
    IdSMTP.Send(IdMessage);
  finally
    IdSMTP.Disconnect;
  end;

  if LerVerMSG = True then
  begin
    Application.MessageBox('Email enviado com sucesso!', 'Confirmação', MB_ICONINFORMATION + MB_OK);
  end;


Este é o código que eu uso para enviar o EMAIL onde está ...... é de propósito pois é informações minhas

O SEGREDO está no componentes idSMTP e idMESSAGE nativo do delphi mesmo é só pesquisar

até mais.


é uma rotina que envia os erros de uma aplicação por isto você vai ver muita coisa relacionado a erros
Responder

Gostei + 0

27/08/2013

Izaias Bezerra

tenho um rotina parecida com sua, mais o meu Email do Gmail, usei esta configurações, mais não enviar de jeito nenhum
Host=smtp.gmail.com
Username=izaiasgomes@gmail.com
Password=********
Porta=465
Responder

Gostei + 0

27/08/2013

Ewerton Rodrigues

tenho um rotina parecida com sua, mais o meu Email do Gmail, usei esta configurações, mais não enviar de jeito nenhum
Host=smtp.gmail.com
Username=izaiasgomes@gmail.com
Password=********
Porta=465


Eu também tentei usando vários servidor de EMAIL Mas na época me lembro que acabei usando uma conta minha do yahoo e deu certo
AO meu ver para o email do yahoo presta é o melhor rs pois funciona

se você tiver interesse o host do YAHOO é o seguinte
smtp.mail.yahoo.com.br


Até mais
Responder

Gostei + 0

27/08/2013

Ewerton Rodrigues

tenho um rotina parecida com sua, mais o meu Email do Gmail, usei esta configurações, mais não enviar de jeito nenhum
Host=smtp.gmail.com
Username=izaiasgomes@gmail.com
Password=********
Porta=465


Eu também tentei usando vários servidor de EMAIL Mas na época me lembro que acabei usando uma conta minha do yahoo e deu certo
AO meu ver para o email do yahoo presta é o melhor rs pois funciona

se você tiver interesse o host do YAHOO é o seguinte
smtp.mail.yahoo.com.br


Até mais


e a PORT é a 587
Responder

Gostei + 0

27/08/2013

Izaias Bezerra

vou testa com o Email da yahoo
Responder

Gostei + 0

27/08/2013

Izaias Bezerra

tb não vai, chegar se o email for da yahoo tb
Responder

Gostei + 0

27/08/2013

Izaias Bezerra

O meu Delhhi xe3 tem alguma coisa a ver
Responder

Gostei + 0

28/08/2013

Ewerton Rodrigues

Amanhã vou dá uma olhadinha meus componentes lá para ver que não tem nada de diferente e te respondo
Qualquer eu não responder até de tarde responde aqui de novo pois ai eu recebo um email para eu lembrar ok.

Mas creio que a questão do Delphi não atrapalha
Sendo Indy 10
Responder

Gostei + 0

28/08/2013

Izaias Bezerra

Ewerton vc conseguir ver
Responder

Gostei + 0

28/08/2013

Kelson Palharini

Alguns e-mails utilizam segurança SSL/TSL que o componente idSMTP sozinho não reconhece. Para isso você tem que usar um componente o IdSSLIOHandlerSocketOpenSSL, ele se encontra na aba Indy I/O Handlers. No meu sistema faço assim se o cara marcar que o e-mail utiliza autenticação ai eu configuro o idSMTP dessa maneira:

idSMTP.IOHandler := idSSL;
idSMTP.UseTLS := utUseRequireTLS;

Esse idSSL é um componente do tipo IdSSLIOHandlerSocketOpenSSL ao qual eu relaciono no meu idSMTP na hora de mandar o e-mail.
Outra coisa as dll's do OpenSSL(ssleay32.dll, libeay32.dll) devem estar atualizadas na pasta do projeto ou na system32.

Faça um teste e qualquer coisa avise. Obrigado.
Responder

Gostei + 0

28/08/2013

Ewerton Rodrigues

Aqui vou colocar uns prints para você ver como está os componentes aqui

Se você colocar igualzinho e não dê certo pode começar a ver a sua versão do delphi ai então OU o seu PC ai.

Ou se você quiser (***SE O seu email não for um email pessoal e você criou só para enviar emails***) você me passa o login e senha que eu vou testar ele aqui pois se funcionar aqui o problema é ai no seu delphi ou no seu PC.

Print´s Abaixo:
[url]
http://img401.imageshack.us/img401/5152/45jz.png

http://img109.imageshack.us/img109/494/1nnu.png

http://img703.imageshack.us/img703/4290/nz2a.png
[/url]
Responder

Gostei + 0

29/08/2013

Izaias Bezerra

Obrigado mais uma vez pela sua atenção
vou fazer hoje, acredito que vai dar certo desta vez
Responder

Gostei + 0

03/09/2013

Izaias Bezerra

Quais as configurações que são feitas na minha conta da yahoo ????
Responder

Gostei + 0

03/09/2013

Ewerton Rodrigues

Nenhum

Mas veja as opções que eu te passei nas ultimas vezes se você quiser eu testo ak a sua conta e te retorno se o problema e na sua conta ou não
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar