Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá pessoal, boa tarde.

Estou implementando a rotina de envio de email da NFSe, utilizando o método EnviarEmail da classe NotaFiscal da unit ACBrNFSeNotasFiscais. Ai me deparei com a necessidade de incluir uma imagem de assinatura do email, sendo que a imagem tem que ser enviada junto (embedded). Vi que isto pode ser feito no componente ACBrMail por meio do método AddAttachement(arquivo, referencia) e incluindo a tag <img src="cdi:referencia"> no corpo da mensagem. Porém, não achei como fazer isso utilizando o método EnviarEmail mencionado no início. A solução que eu achei, e que sugiro como alteração, foi utilizar o formato name=value no parâmetro Anexos do método EnviarEmail, alterando o método na classe TACBrDFe como segue:

Linha 308

De:

if Assigned(Anexos) then
  begin
    for i := 0 to Anexos.Count - 1 do
      MAIL.AddAttachment(Anexos[i]);
  end;

Para:

if Assigned(Anexos) then
  begin
    for i := 0 to Anexos.Count - 1 do
      if Anexos.Names[i] <> '' then
        MAIL.AddAttachment(Anexos.ValueFromIndex[i], Anexos.Names[i])
      else
        MAIL.AddAttachment(Anexos[i]);
  end;

A utilização ficaria assim:

procedure TDMNFSe.EnviaEmailNFSe(aNotaFiscal: NotaFiscal; aCliente: TCliente);
var
  Anexos,
  Mensagem: TStringList;
begin
Mensagem := TStringList.Create;
try
  Anexos := TStringList.Create;
  // Anexa a assinatura
  Anexos.Add('Assinatura=C:\Sistema\Imagens\Assinatura.jpg');

  Mensagem.Add('À <strong>' + aCliente.RazaoSocial + ',</strong><br/>');
  Mensagem.Add('<br/>');
  Mensagem.Add('Segue em anexo a Nota Fiscal eletrônica, referente ao mês ' + FormatDateTime('mm/yyyy', aNotaFiscal.NFSe.DataEmissaoRps) + '.<br/>');
  Mensagem.Add('<br/>');
  Mensagem.Add('<br/>');
  Mensagem.Add('Atte,<br/>');
  Mensagem.Add('<img src="cid:Assinatura">');
  
  aNotaFiscal.EnviarEmail(aCliente.EmailFinanceiro,
                          'Nota Fiscal Eletrônica - RPS/' + aNotaFiscal.NFSe.IdentificacaoRps.Numero,
                          Mensagem,
                          True, //Enviar PDF junto
                          nil, //Lista com emails que serão enviado cópias - TStrings
                          Anexos // Lista de anexos - TStrings
                          );
finally
  Mensagem.Free;
end;
end;

Não sei se existe alguma outra forma de fazer isto pelo componente, mas de qualquer forma é uma alteração bem simples. Sintam-se a vontade para utilizar.

 

Abraço...

  • Curtir 1
  • Este tópico foi criado há 2704 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.