ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Enviar E-Mail conta google

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
lucasc
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 10 de Mai de 2007
Mensagens: 305

MensagemEnviada: Sex Set 27, 2024 5:12 pm    Assunto: Enviar E-Mail conta google Responder com Citação

Olá pessoal,

Criei uma interface para envio de e-mail usando uma conta Google, porém recebo a seguinte mensagem de erro:


Erro na conexão ou autenticação: Application-specific password required. For more information, go to
https://support.google.com/mail/?p=InvalidSecondFactor 41be03b00d2f7-7e6db610e9esm1958536a12.80 - gsmtp


Pelo que pesquisei, é alguma coisa no Google, mas não sei o que.

Vi esse o vídeo a seguir, mas não encontro esse local de senha APP nas configurações de conta do Google, parece que esse recurso foi desativado.


https://youtu.be/jjUUM0XNg88?si=j43cFUgi-9RIR8_u

Código:

Código:


  // variáveis e objetos necessários para o envio
  IdSSLIOHandlerSocket: TIdSSLIOHandlerSocketOpenSSL;
  IdSMTP: TIdSMTP;
  IdMessage: TIdMessage;
  IdText: TIdText;
  sAnexo: string;
begin
  // Instanciação dos objetos
  IdSSLIOHandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create(Self);
  IdSMTP               := TIdSMTP.Create(Self);
  IdMessage            := TIdMessage.Create(Self);

  try
    // Configuração do protocolo SSL (TIdSSLIOHandlerSocketOpenSSL)
    Screen.Cursor                          :=crHourGlass;
    Application.ProcessMessages;
    IdSSLIOHandlerSocket.SSLOptions.Method := sslvSSLv23;
    IdSSLIOHandlerSocket.SSLOptions.Mode   := sslmClient;

    // Configuração do servidor SMTP (TIdSMTP)
    IdSMTP.IOHandler := IdSSLIOHandlerSocket;
    IdSMTP.UseTLS    := utUseExplicitTLS; //utNoTLSSupport,utUseImplicitTLS,utUseRequireTLS,utUseExplicitTLS
    IdSMTP.AuthType  := satDefault;

    //Pega os parâmetros SMTP do banco
    IdSMTP.Host     := QueryMailHOST.Text; //Servidor SMTP
    IdSMTP.Port     := StrToint(QueryMailPORTA.Text);//Porta
    IdSMTP.Username := QueryMailUSUARIO.Text; //Usuário
    IdSMTP.Password := QueryMailSENHA.Text; //Senha

    // Configuração da mensagem (TIdMessage)
    IdMessage.From.Address           := QueryMailUSUARIO.Text; //Remetente
    IdMessage.From.Name              := 'Remetente';     //Nome Remetente
    IdMessage.ReplyTo.EMailAddresses := IdMessage.From.Address;
    IdMessage.Recipients.Add.Text    := EditEmail.Text; //Destinatário
    IdMessage.Subject                := 'Assunto'; //Assunto
    IdMessage.Encoding               := meMIME;

    // Configuração do corpo do email (TIdText)
    IdText := TIdText.Create(IdMessage.MessageParts);
    {Corpo do e-mail}
    IdText.Body.Add('Olá! Tudo bem?');

    IdText.ContentType := 'text/plain; charset=iso-8859-1';


    // Conexão e autenticação
    try
      IdSMTP.Connect;
      IdSMTP.Authenticate;
    except
      on E: Exception do
      begin
        MessageDlg('Erro na conexão ou autenticação: ' + E.Message, mtWarning, [mbOK], 0);
        Exit;
      end;
    end;

    // Envio da mensagem
    try
      IdSMTP.Send(IdMessage);
      GravaStatusMensagem('Mensagem enviada com sucesso em '+FormatDateTime('dd/mm/yyyy hh:mm',now));
    except
      on E: Exception do
      begin
        GravaStatusMensagem('Erro no envio da mensagem em '+FormatDateTime('dd/mm/yyyy hh:mm',now));
      end;
    end;
  finally
    IdSMTP.Disconnect;     //desconecta do servidor
    UnLoadOpenSSLLibrary;  //liberação da DLL
    FreeAndNil(IdMessage); //liberação dos objetos da memória
    FreeAndNil(IdSSLIOHandlerSocket);
    FreeAndNil(IdSMTP);
    Screen.Cursor:=crDefault;
  end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
lucasc
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 10 de Mai de 2007
Mensagens: 305

MensagemEnviada: Seg Set 30, 2024 8:02 am    Assunto: [Resolvido] Responder com Citação

Consegui seguir, parametrizando o acesso à conta em duas etapas, e criando uma senha APP

Obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Dom Dez 08, 2024 3:54 pm    Assunto: Responder com Citação

Só deixo a dica, estude o Login com Google para usar o envio de email, pois o "senhas de app" não vai durar muito tempo.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB