Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa noite

estou testando o  ACBrNFe_Exemplo para envio de e-mail do xml, e esta me dando o seguinte erro SMTP Error: Unable to Login ,

o mais estranho é que uso uma Unit que eu fiz para envio de e-mail e envia 100%.

o que será que pode ser?

Screenshot_1.png

Postado

Obrigado por reportar,

as configuração estão corretas.

eu ia migrar para o AcbrEmail, mais por enquanto vou continuar com minha Unit  que esta enviando sem problemas veja como estou fazendo!

procedure Tfrmnotafiscal_menu.bt_nfe_emailClick(Sender: TObject);
var
  Para: string;
  sXML, sPDF, sXMLPDF: string;
  bservSsl: Boolean;
  email: TEmail;
  dests : TStringList;
begin
  try
    sXML := qrnota.fieldbyname('nfe_xml').AsString;

    if FileExists(IfExtraiXmlnf(sXML,qrnota)) then
    begin
      {frmmodulo.qrconfig.Open;}
      if edtSmtpHost.Text = '' then
      begin
        Application.MessageBox('Favor configurar a conta de email!', 'Erro',
          mb_ok + mb_iconerror);
        exit;
      end;

      query.Close;
      query.SQL.Clear;
      query.SQL.Add('select EMAIL from c000004');
      query.SQL.Add('where codigo = ''' + qrnota.fieldbyname('codfilial').AsString + '''');
      query.Open;

      ACBrNFe1.NotasFiscais.Clear;
      ACBrNFe1.NotasFiscais.LoadFromFile(sXML);
      ACBrNFeDANFEFR1.Site := query.fieldbyname('EMAIL').AsString;
      // Verifica se é NFE ou NFC-e
      if ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.modelo = 65 then
      begin
        ACBrNFe1.DANFE := ACBrNFeDANFCEFR1;
        ACBrNFeDANFCEFR1.ACBrNFe := ACBrNFe1;
        // Linha inserida para corrigir problema de impressao do numero do protocolo na nfe.
        ACBrNFeDANFCEFR1.Protocolo := '';
        ACBrNFe1.DANFE.TipoDANFE := tiNFCe;
        ACBrNFeDANFCEFR1.FonteTributos := 'IBPT'; //Fonte do cauculo dos impostos
        ACBrNFeDANFCEFR1.FastFile :=  ExtractFilePath(ParamStr(0)) + 'Nfe\Report\' + cbDanfeNFCe.Text + '.fr3';
      end else if ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.modelo = 55 then
      begin
        ACBrNFe1.DANFE := ACBrNFeDANFEFR1;
        ACBrNFeDANFEFR1.ACBrNFe := ACBrNFe1;
        // Linha inserida para corrigir problema de impressao do numero do protocolo na nfe.
        ACBrNFeDANFEFR1.Protocolo := '';
        ACBrNFe1.DANFE.TipoDANFE := tiRetrato;
        ACBrNFeDANFEFR1.FonteTributos := 'IBPT'; //Fonte do cauculo dos impostos
        ACBrNFeDANFEFR1.FastFile :=  ExtractFilePath(ParamStr(0)) + 'Nfe\Report\DANFeRetrato.fr3';
      end;
      ACBrNFe1.NotasFiscais.ImprimirPDF;

      sPDF:= StringReplace(StringReplace(sXML,'Nfe', 'PDF',[]), '.xml', '.pdf',[]);

      sXMLPDF := sXML + '|'+ sPDF;

      qrNFE_Cliente.Close;
      qrNFE_Cliente.sql.clear;
      qrNFE_Cliente.sql.add('select email from c000007');
      qrNFE_Cliente.sql.add('where codigo = ''' +
      qrnota.fieldbyname('codcliente').AsString + '''');
      qrNFE_Cliente.Open;

      Para := qrNFE_Cliente.fieldbyname('email').AsString;

     if Para = '' then
     begin
       Para := InputBox('Email', 'Email do Cliente', '');
     end;

     if Para = '' then
       exit;

     //Screen.Cursor := crAppStart; //Troca o cursor
     if (frmStatus = nil) then
       frmStatus := TfrmStatus.Create(Application);
     frmStatus.lblStatus.Caption := 'Enviando Email, Aguarde...';
     frmStatus.Show;
     frmStatus.BringToFront;
     Application.ProcessMessages;

     {if frmmodulo.qrconfig.fieldbyname('email_exige_conexao').asinteger = 1
     then
       bserv := True
     else
       bserv := False;}

     if cbEmailSSL.Checked
     then
       bservSsl := True
     else
       bservSsl := False;

      dests := TStringList.Create;
      dests.Clear;
      dests.Add(Para);
      email := TEmail.Create;

      {Envia o xml e o pdf}
      if email.EnviarEmail(edtnfe.text, edtSmtpUser.text, edtSmtpPass.text, edtSmtpHost.text, edtSmtpPort.text, edtEmailAssunto.text, '', //'c:\teste.html',
              bservSsl, true, dests, nil, nil, mmEmailMsg.Lines, sXMLPDF) then

      begin
        //Screen.Cursor := crDefault; //Volta o cursor
        frmStatus.Hide;
        Application.MessageBox('Email enviado com sucesso!', 'Aviso',
          mb_ok + MB_ICONINFORMATION);
      end
      else
      begin
        //Screen.Cursor := crDefault; //Volta o cursor
        frmStatus.Hide;
        Application.MessageBox
          ('Houve falha no envio deste email... Favor Verificar o endereço do Cliente!',
          'Atenção', mb_ok + mb_iconerror);
      end;

      dests.Free;
      email.Free;

    end
    else
    begin
      Application.MessageBox('Arquivo XML não encontrado!', 'Erro',
        mb_ok + mb_iconerror);
      exit;
    end;
  except
    on E: exception do
    begin
      Application.MessageBox(PChar('Erro ao criar/imprimir NFe!' + #13 +
        'Mensagem: ' + E.message), 'Erro', mb_ok + mb_iconerror);

    end;
  end;

end;

segue a Unit em anexo abraços.

email.pas

Postado

Bom dia

fiz uma pequena mudança na configuração e enviou normal para o Hotmail veja

procedure TfrmACBrNFe.ConfigurarEmail;
begin
  ACBrMail1.Host := edtSmtpHost.Text;
  ACBrMail1.Port := edtSmtpPort.Text;
  ACBrMail1.Username := edtSmtpUser.Text;
  ACBrMail1.Password := edtSmtpPass.Text;
  ACBrMail1.From := edtSmtpUser.Text;
  ACBrMail1.SetSSL := False;//cbEmailSSL.Checked; // SSL - Conexao Segura
  ACBrMail1.SetTLS := cbEmailSSL.Checked; // Auto TLS
  ACBrMail1.ReadingConfirmation := False; // Pede confirmacao de leitura do email
  ACBrMail1.UseThread := False;           // Aguarda Envio do Email(nao usa thread)
  ACBrMail1.FromName := 'Projeto ACBr - ACBrNFe';
end;

ACBrMail1.SetSSL := False;//cbEmailSSL.Checked; // SSL - Conexao Segura so mudei o SSL para false

  • Este tópico foi criado há 1355 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.