Para registrar: após pesquisar um "bocado" consegui enviar.
No exemplo abaixo do colega faltava setar duas propriedades. sll.Host := 'smtp....'; sll.Port := 465; Consegui enviar utilizando o gmail e o brturbo. Att, Celso Lorenzetti www.sysrs.com.br --- Em delphi-br@yahoogrupos.com.br, Rafael Jorge <rafael.jo...@...> escreveu > > estou tentando enviar email usando o gmail.. > o pior e que na minha maquina funciona.. > ja nos clientes nao. > estou usando as dlls. do site http://indy.fulgan.com/SSL/ > mas mesmo assim nao esta funcionando.. > abaixo esta a rotina que uso pra enviar email... > sempre da erro dizendo que eu tenho que chamar STARTTLS antes.. > mas nao sei como proceder.. > > -------------------------- codigo ----------------------------------- > > class procedure TEmail.enviaEmail(servidor_usuario, > servidor_senha, > servidor_host, > email_de_quem_enviou, > email_destino, > email_copia, > assunto, > mensagem: string; > servidor_porta: integer; > autenticacao : boolean; > anexo: string); > var > IdMessage : tIdMessage; > IdSMTP : tIdSMTP; > sll : tIdSSLIOHandlerSocketOpenSSL; > Anx : TIdAttachmentFile; > > > > procedure mostraAviso(texto: string; progresso: integer); > begin > if formenviandoemail = nil then > begin > formenviandoemail := tformenviandoemail.create(nil); > formenviandoemail.g.progress := 0; > end; > formenviandoemail.Show; > formenviandoemail.acao.caption := texto; > formenviandoemail.G.progress := progresso; > Application.ProcessMessages; > end; > > begin > //criando os objetos... > mostraAviso('Configurando para acessar conta...',0); > IdMessage := tIdMessage.create(nil); > IdSMTP := tIdSMTP.create(nil); > sll := tIdSSLIOHandlerSocketOpenSSL.Create(nil); > > IdSMTP.ReadTimeOut := 20000; > // Configura o servidor > if autenticacao then > begin > mostraAviso('Autenticando...',1); > sll.SSLOptions.Method := sslvSSLv2; > sll.SSLOptions.Mode := sslmClient; //sslmUnassigned; > idSMTP.IOHandler := sll; > idSMTP.UseTLS := utUseExplicitTLS;// utUseRequireTLS; > end; > > idsmtp.Username := servidor_usuario; // Usuário > idsmtp.Password := servidor_senha; // Senha > idsmtp.host := servidor_host; // Smtp > idsmtp.Port := servidor_porta; // Porta > > // Configura o remetente da Mensagem > mostraAviso('Configurando Assunto...',2); > IdMessage.Clear; > IdMessage.Subject := LowerCase(assunto); // Assunto do Email > IdMessage.From.Address := email_de_quem_enviou; // De quem e o Email > //Configura os destinatários (to) > mostraAviso('Configurando email que vai receber msg...',3); > IdMessage.Recipients.Clear; > IdMessage.Recipients.Add; > IdMessage.Recipients.Items[IdMessage.Recipients.Count-1].Address := > email_destino; // Para quem vai > IdMessage.Recipients.Items[IdMessage.Recipients.Count-1].Name := > copy(email_destino,1,pos('@',email_destino)-1); > > // Configura os destinatários (cc) > if email_Copia <> '' then > begin > mostraAviso('Configurando Cópia de Email...',4); > IdMessage.Recipients.Clear; > IdMessage.Recipients.Add; > IdMessage.Recipients.Items[IdMessage.Recipients.Count-1].Address := > email_Copia; > IdMessage.Recipients.Items[IdMessage.Recipients.Count-1].Name := > copy(email_Copia,1,pos('@',email_copia)-1); > end; > > // Adiciona o HTML ao corpo da mensagem > mostraAviso('Adicionando Texto a msg...',5); > idmessage.ContentType:= 'text/html'; > IdMessage.Body.clear; > IdMessage.body.Text := mensagem; > > {// Anexa os arquivos > // for I := 0 to lstbxAnexos.items.count -1 do} > if anexo <> '' then > begin > mostraAviso('Conectando ao servidor SMTP..',6); > anx:= TIdAttachmentFile.Create(IdMessage.MessageParts, TFileName(anexo)); > IdMessage.ContentType := 'multipart/mixed'; > end; > > IdMessage.Headers.Values['X-Library'] := ''; > // Envia Email > try > try > mostraAviso('Conectando ao servidor SMTP..',7); > idsmtp.connect; > if idsmtp.connected then > begin > mostraAviso('Enviando msg..',8); > idSmtp.send(IdMessage); > end; > mostraAviso('Msg enviada',9); > showMessage('MENSAGEM ENCAMINHADA COM SUCESSO'); > except on E:exception > do Showmessage('Problemas ao Conectar/enviar mensagem... Tente > Novamente'+#13+ e.message); > end; > finally > idSmtp.disconnect; > end; > mostraAviso('Finalizando..',8); > //limpando memoria > IdMessage.free; > IdSMTP.Free; > if formenviandoemail <> nil then > begin > formenviandoemail.free; > formenviandoemail:= nil; > end; > end; > > ---------------------------- fim -------------------------------------- > > -- > ------------------------------------------------------------------- > Rafael jorge alves (Analista/desenvolvedor) > > www.sistemafocus.com.br > sistema focus de gestão comercial e serviços em informatica. > ------------------------------------------------------------------- > > > [As partes desta mensagem que não continham texto foram removidas] >