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]
>


Responder a