Search the Community
Showing results for tags 'envio de e-mail'.
-
A função de enviar email, está com uma divergencia ao gerar o nome do pdf, com isso, quando pede o envio, acusa que nao existe o pdf. Para tanto, existe como ser corrigido: procedure NotaFiscal.EnviarEmail(sPara, sAssunto: String; sMensagem: TStrings; EnviaPDF: Boolean; sCC: TStrings; Anexos: TStrings; sReplyTo: TStrings; ManterPDFSalvo: Boolean); var NomeArq: String; AnexosEmail:TStrings; StreamNFSe: TMemoryStream; begin if not Assigned(TACBrNFSe(TNotasFiscais(Collection).ACBrNFSe).MAIL) then raise EACBrNFSeException.Create('Componente ACBrMail não associado'); AnexosEmail := TStringList.Create; StreamNFSe := TMemoryStream.Create; try AnexosEmail.Clear; if Assigned(Anexos) then AnexosEmail.Assign(Anexos); with TACBrNFSe(TNotasFiscais(Collection).ACBrNFSe) do begin GravarStream(StreamNFSe); if (EnviaPDF) then begin if Assigned(DANFSE) then begin DANFSE.ImprimirDANFSEPDF(FNFSe); // remover isso //DANFSE.ArquivoPDF // desnecessário //NomeArq := PathWithDelim(DANFSE.PathPDF) + NumID[FNFSe] + '-nfse.pdf'; // desnecessario AnexosEmail.Add(DANFSE.ArquivoPDF); <<<<<<<<<<<< acrescentar desse formato end; end; EnviarEmail( sPara, sAssunto, sMensagem, sCC, AnexosEmail, StreamNFSe, NumID[FNFSe] +'-nfse.xml', sReplyTo);ACBrNFSeDANFSeFR.pas end; finally if not ManterPDFSalvo then DeleteFile(NomeArq); AnexosEmail.Free; StreamNFSe.Free; end; end; E na funcao de gerar o pdf, para fast report: procedure TACBrNFSeDANFSeFR.ImprimirDANFSePDF(NFSe: TNFSe); const TITULO_PDF = 'Nota Fiscal de Serviço Eletrônica'; var I : Integer; NomeArqXML: string; OldShowDialog: Boolean; begin if PrepareReport(NFSe) then begin frxPDFExport.Author := Sistema; frxPDFExport.Creator := Sistema; frxPDFExport.Subject := TITULO_PDF; frxPDFExport.EmbeddedFonts := False; frxPDFExport.Background := False; OldShowDialog := frxPDFExport.ShowDialog; try frxPDFExport.ShowDialog := False; for I := 0 to TACBrNFSe(ACBrNFSe).NotasFiscais.Count - 1 do begin with TACBrNFSe(ACBrNFSe).NotasFiscais.Items do begin NomeArqXML := TACBrNFSe(ACBrNFSe).NumID[TACBrNFSe(ACBrNFSe).NotasFiscais.Items.NFSe]; <<<<<<<<<<<<<<<< acrescentar isso // remover isso { if TACBrNFSe(ACBrNFSe).Configuracoes.Arquivos.NomeLongoNFSe then NomeArqXML := GerarNomeNFSe(UFparaCodigo(NFSe.PrestadorServico.Endereco.UF), NFSe.DataEmissao, NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj, StrToInt64Def(NFSe.Numero,0)) else NomeArqXML := NFSe.Numero + NFSe.IdentificacaoRps.Serie;} end; frxPDFExport.FileName := PathPDF + NomeArqXML + '-nfse.pdf'; // Correção aplicada do nome do arquivo para o envio de e-mail if not DirectoryExists(ExtractFileDir(frxPDFExport.FileName)) then ForceDirectories(ExtractFileDir(frxPDFExport.FileName)); frxReport.Export(frxPDFExport); FPArquivoPDF := frxPDFExport.FileName; end; finally frxPDFExport.ShowDialog := OldShowDialog; end; end; end; Em anexo arquivos modificados. A unit que gera para fortesreport já gera correto, inclusive... ACBrNFSeNotasFiscais.pas
-
Esta é a primeira vez que participo do projeto ACBr. A oportunidade surgiu quando comecei a trabalhar para DJSystem. Com a supervisão e sugestões do Daniel Simões, foi desenvolvido o componente ACBrMail que, como o nome já sugere, é para o envio de e-mails. Funciona no Lazarus (Windows e Linux) e no Delphi. O componente ACBrMail usa as classes da biblioteca Synapse para montar e enviar os e-mails. No desenvolvimento do código, tomou-se por base: os conceitos e exemplos apresentados no site do projeto Synapse , o projeto xmailer do Sílvio Clécio e os métodos e propriedades do projeto PHPmailer. FUNCIONALIDADES: Cliente SMTP com suporte a SSL e TLS; Suporte ao envio de múltiplos e-mails; Suporte a envios TO, CC, BCC e Reply-To; Confirmação de leitura; Suporte a Charset; Mensagens em texto puro, HTML ou ambos; Mensagens com múltiplos anexos; Anexos por arquivo ou Stream; Imagens anexadas em linha para usar em mensagens html; Três eventos para acompanhar o processo de envio; O componente já está no svn do projeto, faz parte do pacote ACBrTCP e acompanha exemplo de uso (um exemplo mais elaborado está sendo produzido).
- 60 replies
-
- 11
-
- acbrmail
- envio de e-mail
-
(and 1 more)
Tagged with: