Preciso de ajuda para enviar e-mail usando TIdSMTP (Indy)
30/03/2005
0
estou tentando enviar um e-mail usando o componente TIdSMTP (Indy). Só que quando dou comando [b:bf7b1afa10]Send[/b:bf7b1afa10] ocorre o seguinte erro:
Project smtp.exe raised exception class EIdProtocolReplyError with message ´530 5.7.0 Must issue a STARTTLS command first´.
Alguém sabe como resolver isso???
Obrigado
Roberto
Tenil
Posts
30/03/2005
Faelcavalcanti
Falow!
30/03/2005
Tenil
// Mensagem IdMsgSend.Subject := ´teste de email´; IdMsgSend.Body.Text := ´Teste de Email´; // Remetente idMsgSend.From.Address := ´from@ficticio.com.br´; idMsgSend.From.Name := ´Roberto´; //IdMsgSend.ReplyTo.EMailAddresses := ´from@ficticio.com.br´; // Destinatario IdMsgSend.Recipients.EMailAddresses := ´para@ficticio.com.br´; // Autenticacao - Use apenas quando o servidor exigir SMTP.AuthenticationType := atLogin; SMTP.UserId := ´teste@ficticio.com.br´; SMTP.Password := ´ficticio´; // Dados do Servidor SMTP.Host := ´smtp.ficticio.com.br; SMTP.Port := 25; SMTP.Connect; try SMTP.Send(IdMsgSend); finally SMTP.Disconnect; end;
Estou conseguindo conectar no servidor.
O erro ocorre na linha [b:d2d9bcd13a]SMTP.Send(IdMsgSend);[/b:d2d9bcd13a].
Muuuuuuito estranho...
30/03/2005
Faelcavalcanti
30/03/2005
Rjun
I am using the TIdSMTP but when I try to send mail I get an error message such as: ´530 Must issue a STARTTLS command first´
Previous Top Next
This message means that the SMTP server requires you to use TLS when authenticating and sending E-Mail. The server expects you to use explicit TLS SMTP. For this, you connect to port 25, issue an EHLO command and get a reply, send a STARTTLS command, and after getting a success reply, you then negotiate TLS with the server.
For Indy 8 and 9
Indy 8 and Indy 9 do not support explicit TLS with SMTP. If the SMTP server supports implicit TLS with SMTP, you may able to use implicit TLS with SMTP by stting the TIdSMTP.IOHandler to TIdSSLIOHandlerSocket and the port to the IdPORT_ssmtp constant in IdAssignedNumbers (465).
For Indy 10
Indy 10 supports SMTP with explicit TLS. In the Indy 10´s TIdSMTP, you simply have to assign a TIdSSLIOHandlerSocketBase descendent to the TIdSMTP.IOHandler property and set the UseTLS property to either utUseRequireTLS if you do not want to use an unencrypted connection or utUseExplicitTLS if you are willing to use an unencrypted connection.
http://www.indyproject.org/KB/index.html?smtpmuststarttls.htm
Rogério
30/03/2005
Tenil
Resolving hostname smtp.gmail.com.
Connecting to 64.233.171.109.
Connected.
[b:e29aa373be]Aqui ocorre o erro: [u:e29aa373be]SMTP.Send(IdMsgSend)[/u:e29aa373be] - Project smtp.exe raised exception class EIdProtocolReplyError with message ´530 5.7.0 Must issue a STARTTLS command first´.[/b:e29aa373be]
Disconnecting from 64.233.171.109.
Not connected.
30/03/2005
Faelcavalcanti
Era bom você se certificar disto também. Provalvelmente você deverá verificar se as suas informações estão concisas em relação ao envio para o protocolo a partir de seu servidor especificado. Os provedores aderiram a isto, de forma a diminuir os spams, e deu muito certo. Caso ainda tenha dúvidas contate informações técnicas com o seu provedor para saber se ele dispõe do serviço disponível para que você possa utililá-lo a partir do protocolo SMTP.
Espero ter ajudado!
30/03/2005
Rjun
Para o gmail, a porta de envio é 465, além de requerer uma conexão criptografada (SSL)
Rogério
30/03/2005
Massuda
30/03/2005
Tenil
Ou seja, depende do meu servidor (estou usando o gmail, da google), e o Indy 8 neste caso dancei.
Mesmo se o servidor aceitar a conexão, não sei como utilizar essas informações para tornar o meu programa funcional.
30/03/2005
Massuda
Esse procedimento é parecido com o usado para incluir suporte a sites seguros usando o TIdHTTP.
30/03/2005
Tenil
Segui todos os passos e não tem esse componente [i:059e67c630][b:059e67c630]TIdSSLIOHandlerSocket[/b:059e67c630][/i:059e67c630] (uso o Delphi 6 com indy 8 ).
Devo copiar as DLLs para o diretório o meu projeto ou para o diretório do Delphi???
30/03/2005
Tenil
Kramba, que dificulidade...
Agradeço a paciência que todos estão tendo comigo., :D
30/03/2005
Faelcavalcanti
Segui todos os passos e não tem esse componente [i:5ac91b74e7][b:5ac91b74e7]TIdSSLIOHandlerSocket[/b:5ac91b74e7][/i:5ac91b74e7] (uso o Delphi 6 com indy 8 ).
Devo copiar as DLLs para o diretório o meu projeto ou para o diretório do Delphi???[/quote:5ac91b74e7]
Cara, estou usando a versão v.9.0.0.14 e já possui o componente [b:5ac91b74e7]TIdSSLIOHandlerSocket[/b:5ac91b74e7], na aba de componentes [b:5ac91b74e7]Indy I/O Handlers[/b:5ac91b74e7]. Inclusive ele dá suporte tanto para [b:5ac91b74e7]Client[/b:5ac91b74e7] como para [b:5ac91b74e7]Server[/b:5ac91b74e7].
:wink:
Falow!
30/03/2005
Massuda
O componente TIdSSLIOHandlerSocket faz parte do Indy 9, mas você precisa das DLLs para poder utilizá-lo. Se você der uma olhada na unit IdSSLOpenSSLHeaders, verá que essas DLLs são carregadas dinamicamente pelo Indy quando necessário; se tentar usar SSL sem as DLLs, gera um erro.
30/03/2005
Tenil
[url]http://www.atozed.com/indy/plus/Files.iwp[/url]
Indy Plus Files
Delphi 6
Indy requires both Service Pack 2 and RTL Update 3 Delphi 6 patches to be installed. If you receive the following error: ´InGlobal was compiled with a different version of System.rtl´, make sure you have Delphi 6 Update Pack 2 Installed. If you installed it previously, reinstall it.
Nossa... tow quase desistindo... :(
Clique aqui para fazer login e interagir na Comunidade :)