Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2698 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Bom dia pessoal estou usando o acbrmail pra enviar email de mdfe pros motoristas, porem quando o cliente tem domínio próprio da erro 

smtp error unable to login ja testei de tudo e não da certo alguém tem alguma ideia do que pode ser

 

estou usando dessa forma

procedure TF_MDFe.btnEnviarEmailClick(Sender: TObject);
var
 Mensagem: Tstrings;
 Assunto, Endereco: string;
 pdf : boolean;
begin
try
try
Configuracoes;
 ACBrMDFe1.Manifestos.Clear;
  ACBrMDFe1.Manifestos.LoadFromFile(ManifPATH_XML.AsString);
    mensagem := TStringList.Create;
    Endereco := ManifEMAIL_MOTORISTA.AsString; //especifique um email válido
    mensagem.add('Mdf-e emitida');
    Assunto :='Envio de XML-MDF-e';

      acbrmail1.Host :=                      dm.EmpresaSERVER_SMTP_EMIT.AsString;
      acbrmail1.port :=                      InttoStr(dm.EmpresaPORTA_SMTP_EMIT.AsInteger);
      acbrmail1.Username:=                   dm.EmpresaUSUARIO_EMAIL_EMIT.Text;
      acbrmail1.Password :=                  dm.EmpresaSENHA_EMAIL_EMIT.Text;
      acbrmail1.From :=                   dm.EmpresaUSUARIO_EMAIL_EMIT.Text;
      acbrmail1.AddAddress(ManifEMAIL_MOTORISTA.AsString);
     // acbrmail1.SetTLS := False;
      if dm.EmpresaSSL_ATIVO.AsString = 'S' then // SSL - Conexão Segura then
      begin
      acbrmail1.SetSSL := True
      end
      else
      begin
       acbrmail1.SetSSL := False;
      end;
      if dm.EmpresaENVIA_PDF.AsString = 'S' then
      begin
        pdf := true;
        end
        else
        begin
        pdf := false;
      end;
      ACBrMail1.ReadingConfirmation := False; //Pede confirmação de leitura do email
       ACBrMail1.UseThread := False;           //Aguarda Envio do Email(não usa thread)
      // ACBrMail1.FromName := dm.EmpresaSERVER_SMTP_EMIT.Text;
       ACBrMail1.FromName := dm.EmpresaUSUARIO_EMAIL_EMIT.Text;
      ACBrMDFe1.MAIL := ACBrMail1;

      ACBrMDFe1.Manifestos.Items[0].EnviarEmail(
                                             Endereco //Lista com emails que serão enviado cópias - TStrings
                                             ,Assunto
                                             ,mensagem
                                             ,pdf //Enviar PDF junto true não = false
                                             ,nil // Lista de anexos - TStrings
                                             ,nil  //Pede confirmação de leitura do email
                                            );


 Showmessage('Email enviado com sucesso ...');
finally
    Mensagem.Free;
end;

except
on e: exception do
begin
  Showmessage('Erro ao enviar Email ...'+ e.Message);
end;

end;

end;
 

 

Desde já grato pela ajuda

Editado por reij
  • Moderadores
Postado
4 minutos atrás, reij disse:

     // acbrmail1.SetTLS := False;

Você está ignorando esta configuração, pode ser isso...

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado (editado)

Função que utilizo atualmente, caso quiser tirar algum proveito. Recebe como parâmetro o Assunto, a Mensagem e um Array contendo o caminho dos anexos.

Porém, conforme o @BigWings mencionou, pode ser apenas sua config de TLS.

function TFuncao.EnviaEmail(const AAssunto, AMensagem: String; AAnexo: array of String): Boolean;
var
  AMail: TACBrMail;
  I: Integer;
begin
  AMail:= TACBrMail.Create(Self);
  with AMail do
  begin
    Host     := 'smtp.dominio.com';
    Port     := '587';
    Username := '[email protected]';
    Password := 'senha_do_email';
    AltBody.Add(AMensagem);
    Subject  := AAssunto;
    SetSSL   := False;
    SetTLS   := True;
    From     := '[email protected]';
    FromName := 'Seu Nome';
    AddAddress('[email protected]','Motorista Edivan');
    for I := Low(AAnexo) to High(AAnexo) do
    begin
      if (CompareStr(AAnexo[i],'') <> 0) then
      begin
        if FileExists(AAnexo[i]) then
          AddAttachment(AAnexo[i]);
      end;
    end;
    IsHTML:= True;
//    UseThread:= True;
  end;
  try
    try
      AMail.Send;
    finally
      AMail.Destroy;
      AMail:= nil;
    end;
  except
    AMail.Destroy;
    AMail:= nil;
    Exit;
  end;
end;
Editado por felipetomm
  • Este tópico foi criado há 2698 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.