Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wllf

[Resolvido] Enviar e - mail

Recommended Posts

Pessoal boa tarde,

 

 

 

Pessoal montei um sistema para enviar e - mails usando componentes da paleta indyclients e indymisc, mas aparecerão vários erros e depois de uma pesquisa na net notei que é muito didfícil enviar e - mail através do delphi.

 

 

Ele da varios erros por falta de Dlls SSl, porta de conexão dificil de acertar etc...

 

 

Alguém poderia me indicar um tópico ou tutorial legal para dar uma estudada sobre esse assunto, mas que tenha funcionado pq a maioria não funciona.

 

Não quero copiar, mas sim enteder sobre o assunto !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara...

Tivemos o mesmo problema em uma aplicação que fizemos aqui na empresa...

A implementação não foi minha, então não posso no exato momento te dar TODOS os detalhes de como foi realizada...

 

Mas te adianto que a falta dessas DLLs pode ser resolvida utilizando o pacote OpenSSL, que você até acha no site do indyproject: http://indy.fulgan.com/SSL/

 

Esse artigo PODE ser alguma ajuda (digo PODE pois quem se deparou com o problema não foi eu, então não posso afirmar estar 100% correto): http://www.devmedia.com.br/articles/viewcomp.asp?comp=958

 

 

Quanto ao lance das portas e talz, essas configurações acredito que você terá consultando seu server de SMTP (a mais utilizada creio eu ser a 587).

 

 

Qualquer coisa, posta ae...

Desculpe não poder ajudar melhor...

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega muito obrigado pela ajuda, esse tópico eu já tinha lido aliás uns 20 tópicos eu li sobre o assunto.

 

As bibliotecas eu já tenho as configurações estão bem semelhantes, estou usando idSMTP para conexão e tbém estou usando a minha conta no Yahoo que segundo pesquisei seria o mais fácil para trabalhar mas mesmo assim ainda não funciona.

 

 

Caso você tenha uma outra idéia .....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Raficcha esse tópico do Marcio é muito bom, eu já tinha impresso e lido várias vezes.

 

A coisa ta feia por mais que eu pesquise eu sempre caio nos mesmos tópicos e exemplos.

 

O problema é que o cliente pediu um sistema de controle de vendas que já está pronto, mas o carro chefe desse sistema é o envio de e-mails direto do mesmo sem usar o famoso outlook e sem anexo.

 

Estou pesquisando e testando de tudo, algumas dúvidas:

 

1 - Qual as portas de conexão SMTP (IG, YAHOO, TERRA);

 

2 - Qual os Hosts SMTP dos mesmos provedores.

 

3 - E quais deles pode se conectar sem autenticação (nas pesquisas na net a informações são conflitantes sobre isso).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal após vários tutoriais e exemplos que em sua grande maioria não funcionarão sobre envio de e-mails via delphi7 e componentes da paleta Indy, não obtive solução. Sou apenas um aprendiz ou menos, em delphi.

 

A maioria dos exemplos sempre apontam para um código de 2004 criado em delphi5 usando a paleta FastNet(já extinta, atualmente a paleta Indy é semelhante). Estou a procura de uma solução com delphi7 e componentes da paleta Indy.

 

Agora a cada evolução do meu sistema, postarei as soluções ak e assim quando precisarem enviar e -mail através do IdSMTP esse post servirá como consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de muitas pesquisas e testes, eis um código que funciona:

 

try

IdSMTP1.Connect(0); ///Essa linha é extremamente necessária

Except

end;

with IdSMTP1 do

begin

IdSMTP1.IOHandler := IdSSLIOHandlerSocket1;

IdSMTP1.Host := 'smtp.ig.com.br';

IdSMTP1.Port := 465

IdSMTP1.Username := 'seuemail@ig.com.br';

///Sempre configurar (IdSMTP1.AuthenticationType := atLogin) ///

end;

IdMessage1.Recipients.EMailAddresses := endereço de envio;

IdMessage1.Body.Assign(Memo1.Lines); //corpo do E - mail //

 

if not IdSMTP1.Connected then

begin

IdSMTP1.Connect;

end

else

begin

Try

IdSMTP1.Send(IdMessage1);

MessageDlg('Mensagem enviada !',mtWarning, [mbOK], 0);

Except

IdSMTP1.Disconnect;

MessageDlg('Erro na conexão.',mtWarning, [mbOK], 0);

End;

end;

 

Esse código funciona com contas GMAIL E IG, com toda certeza !!!

 

Estou colocando a disposição de quem precisar !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo wllf, uso um código muito parecido com o seu para enviar email com Delphi 2009/2010 e componentes Indy 10.5.

Gostaria de acrescentar os parâmetros que uso para enviar com email do Yahoo:

 

IdSMTP1.Host := smtp.mail.yahoo.com.br'; //Servidor SMTP do email Yahoo

IdSMTP1.Port := 25; //Porta para conexão

IdSMTP1.Username := 'seuemail@yahoo.com.br'; //Nome do usuário da conta de email Yahoo

IdSMTP1.Password := '*******'; //Senha da conta de email Yahoo

IdMessage1.Subject:= 'Assunto'; //String a ser exibida no campo assunto da mensagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega muito obrigado pelo complemento, esse tópico é muito importante pq na net existe poucos exemplos q funcionem.

 

Caso alguém queira complementar mais alguma coisa fk a vontade.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.