Ir para conteúdo

Arquivado

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

flavioavilela

exemplo de enviar e-mail do usuário marchio.theis

Recommended Posts

boa tarde galera, nao sei se vcs já passaram por isso, mas baixei um exemplo do nosso ilustre companheiro marchio.theis aqui do forum que ensina como enviar e-mail pelo delphi.

o meu funciona perfeitamente, só que, ao chegar o e-mail pra pessoa, ele chega com umas mensagens estranhas... alguem sabe como resolver isso? segue abaixo um exemplo e-mail que chega para quem recebe:

 

This is a multi-part message in MIME format --JhSR9SbL=_SAHNL24xjxbwn7L5ckjWlLAi Content-Type: text/plain Content-Transfer-Encoding: quoted-printable =20 --JhSR9SbL=_SAHNL24xjxbwn7L5ckjWlLAi Content-Type: text/html Content-Transfer-Encoding: quoted-printable Venda N=FAmero Pedido: 00004 Cliente: GERALDO DOS SANTOS VILELA Funcio= n=E1rio: M=C1RIO S=C9RGIO MF 054 RELOGIO TEMPERATURA 76 1 76 BA 82061 BOMBA COMBUSTIVEL BA 25 1 25 GAI 933 ALICATE DE BICO 23,75 1 23,75 --JhSR9SbL=_SAHNL24xjxbwn7L5ckjWlLAi--

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, olhando assim n sei dize o erro.. so olhando o codigo..

 

mas a poco tempo eu fiz um envio de email tb vo posta caso tu queira dar uma olhada..

 

ai eu utilizei gmail, hotmail, bol etc acredito que deva ser parecido..

 

begin
//sfdfdfd
IdSMTP.Host:= 'smtp.gmail.com';
IdSMTP.Username:= 'login';
IdSMTP.Password:= 'senha';
IdSMTP.AuthenticationType := atLogin;
IdSMTP.IOHandler := SSLSocket;
IdSMTP.Port := 465;
 SSLSocket.SSLOptions.Method := sslvSSLv2;
SSLSocket.SSLOptions.Mode := sslmClient;


IdMessage.From.Address:= 'seuEmail';
IdMessage.Subject:= 'assunto';
IdMessage.ContentType:='text/html';
IdMessage.Recipients.EMailAddresses := 'destinatario';
IdMessage.Body.Add('msg');


if not IdSMTP.Connected then
IdSMTP.Connect();
begin
IdSMTP.Send(IdMessage);
showmessage('Enviado!');

IdSMTP.Disconnect;
end;

sei q sua msg esta sendo enviada, mas mandei o codigo talvez possa te ajuda.. abracos!

 

identação cabulosa hehe, falha minha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, a ÚNICA coisa que mudei no código fonte foi nesse código abaixo:

procedure TFrmEnviar_Email.ckbSSLClick(Sender: TObject);
begin
IdSMTP.IOHandler:=nil;
if ckbSSL.Checked then
	IdSMTP.IOHandler:= IdSSLIOHandlerSocket;
end;
ele da erro nessa linha IdSMTP.IOHandler:= IdSSLIOHandlerSocket; falando que nao foi declarado o IdSSLIOHandlerSocket...

eu imagino que seje falta de alguma unit nao declarada, mas conferi com o exemplo do forum e está tudo igual... ai, eu deixei essa linha como comentário, ai enviou belezinha... imagino que seje isso que nao deixa os e-mails chegarem normalmente, pois é ela que verifica se faz autenticação SSL, mas, nao sei tbm...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem o componante adicionado no seu form?

se colocou arrume estas propriedades do IdSSLIOHanlderSocket conforme isto..

 

SSLOptions.Method := sslvSSLv2;

SSLOptions.Mode := sslmClient;

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo... eu tenho esse componente sim e devidamente configurado... mesmo assim, nao funciona...

acho q o problema é mesmo oq eu mencionei acima, mas, nao sei como corrigir

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra falar a verdade nem testei o seu q já está pronto...

a versão acho q é a 10 né, a q vem no delphi 2007... andei pesquisando ai e vi q mtas pessoas conseguiram enviar com essa versao normalmente... será que nao tem nada haver nessa linha q mencionei acima???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode até ser problema de compatibilidade mesmo, teria de ver se as DLL de SSL não tem versão especifica para a versão 10 do indy... pois eu desenvolvi usando a versão 9.alguma coisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu estou utilizando as dll's q o kra de um outro forum ai flw q testou e funcionou com delphi 2007 e indy 10... o meu nem enviar estava, ai depois, eu consegui fazer enviar, mas agora está dessa forma... e como faço pra corrigir esse erro que eu mencionei ai em cima??? você sabe??

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao... so no envio mesmo... na compilação roda beleza...

mas, nesta linha de código acima que postei, quando eu coloco comentário na linha, roda beleza e só no envio que chega todo bagunçado... quando eu tiro o comentário da linha que mencionei acima, ele da erro na hora da compilação, falando q a unit tal nao foi encontrada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia... nao funcionou com seu o exemplo enviado pelo marchio.theis... alguem pode dizer pq está havendo erro com meu envio???

Compartilhar este post


Link para o post
Compartilhar em outros sites

procedure TFrmEnviar_Email.ckbSSLClick(Sender: TObject);

begin

IdSMTP.IOHandler:=nil;

if ckbSSL.Checked then

IdSMTP.IOHandler:= IdSSLIOHandlerSocket;

end;

alguem sabe como parar de dar erro na linha

IdSMTP.IOHandler:= IdSSLIOHandlerSocket;
??? já coloquei a unit dele correspondente mas nao adianta...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae marchio.theis, pode me auxiliar nisso ai... já fiz seus testes que falou e nada... queria saber como faz pra corrigir esse erro que mensionei acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola flavio, vejo que voce ainda nao resolveu o problema, eu demorei bastnte tempo tb pra consegui envia email rsrsrs..

caso tu ainda esteja tentando me add no msn kleinkauff@hotmail.com fica melhor pra te ajuda

abracos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae galera, aos poucos estou conseguindo corrigir esses erros... quem se habilitar em me ajudar, ficaria grato...

 

agora, a quantidade de caracteres que chega na caixa de e-mail é menor, tipo, o e-mail chega já dando para ver oq está escrito, bem diferente do que eu havia postado primeiramente... segue abaixo oq está chegando na caixa de e-mail:

 

This is a multi-part message in MIME format --F1OpHfb0nAZeAKVQ1K=_WbRiA3FwhHvWHv Content-Type: text/plain Content-Transfer-Encoding: quoted-printable =20 --F1OpHfb0nAZeAKVQ1K=_WbRiA3FwhHvWHv Content-Type: text/html Content-Transfer-Encoding: quoted-printable Venda

N=FAmero Pedido: 00004 Cliente: GERALDO DOS SANTOS V= ILELA Funcionario: MARIO SERGIO

 

MF 054 RELOGIO TEMPERATUR= A 76 1 76

BA 82061 BOMBA COMBUSTIVEL BA 25 1 2= 5

--F1OpHfb0nAZeAKVQ1K=_WbRiA3FwhHvWHv--

 

tipo, como vcs podem ver, acima e abaixo do e-mail aparecem essas escritas mais sem noção... estava aparecendo bem mais, mas fiz umas mudanças e melhorou... e meus componentes estão configurados todos devidamente "corretos"... oq será isso??? alguem se habilita???

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.