Fórum Envio Email com SSL #369254
23/03/2009
0
Existe algum outro componente de envio de email melhor que o Indy?
Rodc
Curtir tópico
+ 0Posts
25/03/2009
Emberada
Acredito que estou tendo o mesmo problema seu com o envio de emails pelo indy com conta do gmail...
O programa conecta e autentica ok mas fica travado na linha de envio da mensagem:
IdSMTP.Send(IdMessage);
Fica travado muito tempo e nada..
Uso Windows Vista, estou sem firewall, sem antivirus, DLL´s atualizadas, Delphi 2007 e nada...
Conseguiu resolver a questão?
Alguem tem alguma ideia do que seja ou de uma outra alternativa aceitável para Delphi?
Gostei + 0
26/03/2009
Rodc
Continuo tentando... Qualquer posto aqui...
Gostei + 0
26/03/2009
Emberada
Consegui resolver durante a madrugada...
A seguir está o codigo funcionando OK...
São necessárias as DLLs do pacote a seguir:
http://indy.fulgan.com/SSL/Archive/indy_OpenSSL096m.zip
Consegui enviar sem problemas, mesmo com o antivirus ativado.
Coloque os componentes a seguir no form, e o restante da pra sacar pelo fonte..
IdSMTP = TidSMTP
IdMessage = TIdMessage
IdAntiFreeze = TIdAntiFreeze
IdSSLIOHandlerSocketOpenSSL1 = TIdSSLIOHandlerSocketOpenSSL
Qualquer dúvida pode mandar ai que verificamos..
O meu problema era que a propriedade IdSMTP.AuthType estava ficando como atNone quando o correto é atDefault.
Estranho era que conectava e autenticava aparentemente ok, mas ficava travado no envio da mensagem...
Agora funcionou ok e está bem rápido o envio... pra mim 100¬!
Rodando no Indy 10 com Delphi 2007 em Windows Vista.
Fiz tantos testes que acabei reinstalando o indy 10 e talvez isso também tenha interferido, mas creio que não...
try with IdSMTP do begin AuthType := atDefault; //Login Host := ´smtp.gmail.com´; Password := ´MINHASENHA´; Port := 465; Username := ´MEUEMAIL@gmail.com´; IOHandler := IdSSLIOHandlerSocketOpenSSL1; UseTLS := utUseRequireTLS; ConnectTimeout := 10000; ReadTimeout := 10000; AuthType := atDefault; //Login end;//with IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv2; IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmUnassigned; IdMessage.Clear; IdMessage.MessageParts.Clear; if lstAnexos.Items.Count > 0 then begin for i:= 0 to lstAnexos.Items.Count - 1 do TIdAttachmentFile.Create(IdMessage.MessageParts, lstAnexos.Items[i]); end; IdMessage.From.Address := ´MEUEMAIL@gmail.com´; IdMessage.From.Text := ´MEUNOME´; IdMessage.Subject := edtAssunto.Text; IdMessage.Body.Text := CORPODOEMAIL_STRING; IdMessage.Recipients.EMailAddresses := EdtPara.Text; //email destino IdMessage.CCList.EMailAddresses := EdtCC.Text; IdMessage.BccList.EMailAddresses := EdtCCO.Text; if not IdSMTP.Connected then begin IdSMTP.Connect(); IdSMTP.Authenticate(); end;//if if IdSMTP.Connected then IdSMTP.Send(IdMessage); Application.ProcessMessages; except on E: Exception do Mensagem(E.Message, mtError, Self.Name); end; IdSMTP.Disconnect;
Gostei + 0
27/03/2009
Rodc
Agora estou com outro tipo de problema, menor mas inconveniente. Se o usuário tentar conectar no Google e não habilitar o SSL, a conexão fica travada. Já esperei um tempão e não retornou nenhum erro, apenas fica travado. No Yahoo também tem outro problema, se tentar conectar sem habilitar o Login, o Yahoo retorna um erro de que precisa do login mas o componente do Indy não trata este retorno e tenta continuar o envio, retornando assim o erro ´Conection Closed Gracefully´, que quer dizer que o servidor forçou o encerramento da conexão.
Tens alguma idéia de como resolver isto?
Gostei + 0
31/03/2009
Cafosys
Gostei + 0
01/04/2009
Rodc
Gostei + 0
01/04/2009
Cafosys
Must issue a STARTTLS command first
no smtp.live.com saberia me dizer qual é o problema.
se possivel daria pra me passar um exemplo do codigo do componente enviando para o hotmail
Gostei + 0
01/04/2009
Rodc
Procura no fórum e no Google por ´GMail smtp ssl´. O Indy tem um componente para SSL, mas tem que baixar umas DLLs para funcionar...
Gostei + 0
01/04/2009
Cafosys
Gostei + 0
01/04/2009
Rodc
Gostei + 0
01/04/2009
Cafosys
Gostei + 0
01/04/2009
Rodc
Não sei se é este o seu caso, mas você precisa incluir o define ´USESSL´ no projeto do componente para habilitar os componentes SSLs.
Gostei + 0
01/04/2009
Cafosys
o componente TSslSmtpCli não tem na instalação só o TSmtpCli como instalo esse componente a versao que baixei no site é v6 quando rodo o pachage dos componentes com ssl da erro dizendo que não encontra a classe TSslBaseComponent
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)