Ir para conteúdo
  • Cadastre-se

Gabriel Frones

Membros
  • Total de ítens

    115
  • Registro em

  • Última visita

  • Days Won

    2

Community Answers

  1. Gabriel Frones's post in Tratar Exceção Na Função Enviaremail Do Acbrnfe was marked as the answer   
    Werner,
     
    Você está usando thread pra enviar e-mail. Por essa razão que não está funcionando o try..except: A função enviar e-mail só cria a thread e essa operação não gera exception nenhum. Para não usar thread, adicione mais um parâmetro, False à sua chamada de função:
    try ACBrNFe.NotasFiscais.Items[0].EnviarEmail(qrEmpresa.fieldbyname('nm_smtpemail').asstring , qrEmpresa.fieldbyname('nr_portaemail').asstring , qrEmpresa.fieldbyname('nm_usuarioemail').asstring , qrEmpresa.fieldbyname('nr_senhaemail').asstring , qrEmpresa.fieldbyname('nm_usuarioemail').asstring , Para , 'Nota Fiscal Eletrônica - '+ACBrNFe.NotasFiscais.Items[0].NFe.infNFe.ID , memo1.Lines //mmEmailMsg.Lines , (qrEmpresa.fieldbyname('tp_conexaoseguraemail').asinteger=1) // SSL - Conexão Segura , True //Enviar PDF junto , CC //Lista com emails que serão enviado cópias - TStrings , nil // Lista de anexos - TStrings , False //Pede confirmação de leitura do email , True //Aguarda Envio do Email(não usa thread) , qrempresa.fieldbyname('nm_emp').asstring // Nome do Rementente , (qrEmpresa.fieldbyname('tp_conexaossltsl').asinteger=1) // Auto TLS , False); //Esse parametro diz pra não usar thread. except raise exception.Create('Email não enviado'); end; Lembrando que o parametro AguardarEnvio = True não significa que não vai usar thread, como está escrito nos seus comentários... significa que se usar, vai esperar ela concluir a tarefa. Eu, particularmente, não vejo muita vantagem em usar uma thread se você vai travar o programa até ela concluir, isso só adiciona complexidade ao seu programa.
×
×
  • 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.