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...