Autor Tópico: Enviar varios emails com anexo pdf sem abrir o ReportPDF  (Lida 2883 vezes)

Dualbox

  • Iniciante
  • **
  • Mensagens: 68
  • Vivendo e aprendendo
    • dualbox
    • Email
Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Online: Julho 15, 2015, 03:29:02 pm »
Boa Tarde Pessoal

Tenho uma consulta de pedidos com checkbox, nele eu marco os pedidos que serão enviados por email e clico no botao enviar.
esse botao me abre uma caixa de controle, onde o cliente escolhe o email principal de envio e clica em OK é nele q se encontra meu codigo.

Problema...
Preciso fazer isso sem mostrar o pdf em tela -> ja configurei ele pra baixar em servidor e também com $pdf->Output('xx', 'F');
mesmo assim ele me abre uma aba ou dizendo que o pdf foi finalizado ou mostrando o PDF.

Será que tem como resolver essa questão? Scriptcase versão 8.0047
Abraço a todos
Desenvolvendo soluções para sua empresa
               www.dualbox.com.br

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #1 Online: Julho 16, 2015, 09:05:53 am »
Bom dia, eu tenho uma aplicação que faz isso porém o pdf precisa estar no diretório e no meu caso apenas após abrir na tela ele gera o pdf no diretório. Minha solução foi antes de enviar o e-mail verifica se tem o arquivo na pasta, se não crio um link para abrir em uma nova guia, gerando o pdf na pasta, e após isso prossigo o envio do e-mail.

Dualbox

  • Iniciante
  • **
  • Mensagens: 68
  • Vivendo e aprendendo
    • dualbox
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #2 Online: Julho 16, 2015, 09:25:18 am »
Bom dia Rodrigo Obrigado pela resposta

Como você faz pra gerar o pdf na pasta sem mostra-lo, pois já estou enviando para pasta que quero, mais sempre me abre uma aba,
mesmo colocando em modo servidor ou fazendo pdf->Output, lembrando que estou usando o reportPDF.
Desenvolvendo soluções para sua empresa
               www.dualbox.com.br

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #3 Online: Julho 16, 2015, 09:52:40 am »
Report PDF

onScriptInit
sc_set_pdf_name = "Orçamento_num-".[var_num_orcamento]."_".date("d-m-Y");

Layout PDF Código
No final do código gerado
sc_pdf_output("../_lib/pdf/orcamento-".[var_num_orcamento].".pdf","F");


No meu caso uso um controle que envia o orçamento, você valida se tem o arquivo
if(!file_exists("../_lib/pdf/orcamento-".[var_num_orcamento].".pdf"))
{
   ?>
   <script>
      alert("Antes de enviar clique no ícone pdf para gerar o orçamento");
   </script>
   <?php
}
Campo que tem o link para o orçamento
{Anexo}  = "<img src='../_lib/img/nm_icon_pdf.gif' title='Ver o orçamento' border='0'> num.[var_num_orcamento]";
Ligado ao Report Pdf (abrir em uma nova guia)

Dualbox

  • Iniciante
  • **
  • Mensagens: 68
  • Vivendo e aprendendo
    • dualbox
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #4 Online: Julho 20, 2015, 10:44:48 am »
Rodrigo Obrigado pela resposta

Bom o modo que estava tentando fazer era diferente do seu

eu queria selecionar todos os pedidos, apertar um botão e enviar por email todos os pdfs sem abrir nada
porem não obtive sucesso e mudei a logica parecida com a sua

Obrigado por me ajudar
Desenvolvendo soluções para sua empresa
               www.dualbox.com.br

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #5 Online: Julho 20, 2015, 11:11:27 am »
É você só iria conseguir se os arquivos pdf estivessem na pasta, se você conseguir alguma forma de gerar eles sem abri dará certo. A solução que encontrei foi essa mesma, abre o arquivo, gera na pasta e depois envia.

Dualbox

  • Iniciante
  • **
  • Mensagens: 68
  • Vivendo e aprendendo
    • dualbox
    • Email
[RESOLVIDO] Enviar vários emails com anexo pdf sem abrir o ReportPDF
« Responder #6 Online: Julho 20, 2015, 01:40:29 pm »
[RESOLVIDO]

Valeu Rodrigo
Desenvolvendo soluções para sua empresa
               www.dualbox.com.br

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #7 Online: Agosto 13, 2015, 06:41:04 pm »
Report PDF

onScriptInit
sc_set_pdf_name = "Orçamento_num-".[var_num_orcamento]."_".date("d-m-Y");

Layout PDF Código
No final do código gerado
sc_pdf_output("../_lib/pdf/orcamento-".[var_num_orcamento].".pdf","F");


No meu caso uso um controle que envia o orçamento, você valida se tem o arquivo
if(!file_exists("../_lib/pdf/orcamento-".[var_num_orcamento].".pdf"))
{
   ?>
   <script>
      alert("Antes de enviar clique no ícone pdf para gerar o orçamento");
   </script>
   <?php
}
Campo que tem o link para o orçamento
{Anexo}  = "<img src='../_lib/img/nm_icon_pdf.gif' title='Ver o orçamento' border='0'> num.[var_num_orcamento]";
Ligado ao Report Pdf (abrir em uma nova guia)

SEGUI SEU MODELO E TENHO ESSE ERRO DE RETORNO :

Atenção
Undefined offset: 0
TCPDF ERROR: Unable to create output file: ../_lib/pdf/AUTORIZACAO-0A5387A6B7.pdf
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #8 Online: Agosto 13, 2015, 06:42:17 pm »
descobri o erro.....faltava criar uma pasta..  :)
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #9 Online: Agosto 13, 2015, 08:17:04 pm »
bom...to criando o arquivo belesa.....agora pegar ele e enviar tá osso...

help-me.. ;)
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #10 Online: Agosto 14, 2015, 08:49:04 am »
bom...to criando o arquivo belesa.....agora pegar ele e enviar tá osso...

help-me.. ;)

Faça o envio do e-mail com a macro
sc_mail_send (SMTP, Usr, Pw, De, Para, Assunto, Mensagem, Tipo_Mens, Cópias, Tp_Cópias, Porta, Tp_Conexao, Anexo)
No atributo anexo coloque o caminho e nome do arquivo
../_lib/pdf/AUTORIZACAO-0A5387A6B7.pdf

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #11 Online: Agosto 14, 2015, 02:06:33 pm »
Estou usando essa:

Código: [Selecionar]
sc_mail_send($mail_smtp_server,
$mail_smtp_user,
$mail_smtp_pass,
$mail_from,
$mail_to,
$mail_subject,
$mail_message,
$mail_format,
$mail_copies,
$mail_tp_copies,
$mail_port,
$mail_tp_connection,
$mail_attachments);

em :

Código: [Selecionar]
$mail_attachments = array(                     // List of attached files (located on the web server)
'../_lib/pdf/odc/'.[glo_nome_xml_odc]
                        );
e estou tendo o seguinte retorno:

Fatal error: Uncaught exception 'Swift_IoException' with message 'Unable to open file for reading [../_lib/pdf/odc/OC-2015-07-278]' in C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\ByteStream\FileByteStream.php:136 Stack trace: #0 C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\ByteStream\FileByteStream.php(80): Swift_ByteStream_FileByteStream->_getReadHandle() #1 C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\ContentEncoder\Base64ContentEncoder.php(41): Swift_ByteStream_FileByteStream->read(8190) #2 C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\SimpleMimeEntity.php(526): Swift_Mime_ContentEncoder_Base64ContentEncoder->encodeByteStream(Object(Swift_ByteStream_FileByteStream), Object(Swift_Transport_StreamBuffer), 0, 78) #3 C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\SimpleMimeEntity.php(548): Swift_Mime_SimpleMimeEntity-> in C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\StreamBuffer.php on line 177




Está achando o caminho com o nome do arquivo certinho...mas nao anexa..
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #12 Online: Agosto 14, 2015, 02:43:40 pm »
Está errado, o final deve ser o nome do arquivo
[../_lib/pdf/odc/OC-2015-07-278] Aqui não tem extensão

Meu sistema que envia tem essa linha e funciona:
$attachment   = "../_lib/pdf/orcamento-hidraulandia-".[var_num_orcamento].".pdf";

Dualbox

  • Iniciante
  • **
  • Mensagens: 68
  • Vivendo e aprendendo
    • dualbox
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #13 Online: Agosto 14, 2015, 05:31:28 pm »
Estou enviando com o PHPMailer muito mais pratico e possui mais controle sobre os envios
Desenvolvendo soluções para sua empresa
               www.dualbox.com.br

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
Re:Enviar varios emails com anexo pdf sem abrir o ReportPDF
« Responder #14 Online: Agosto 17, 2015, 12:33:59 am »
Está errado, o final deve ser o nome do arquivo
[../_lib/pdf/odc/OC-2015-07-278] Aqui não tem extensão

Meu sistema que envia tem essa linha e funciona:
$attachment   = "../_lib/pdf/orcamento-hidraulandia-".[var_num_orcamento].".pdf";

Corrigido para :
$mail_attachments       = "../_lib/pdf/odc/".[glo_nome_xml_odc].".pdf";

Persiste o erro:
Fatal error: Uncaught exception 'Swift_IoException' with message 'Unable to open file for reading [../_lib/pdf/odc/OC-2015-07-278.pdf]' in C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\ByteStream\FileByteStream.php:136 Stack trace: #0 C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\ByteStream\FileByteStream.php(80): Swift_ByteStream_FileByteStream->_getReadHandle() #1 C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\ContentEncoder\Base64ContentEncoder.php(41): Swift_ByteStream_FileByteStream->read(8190) #2 C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\SimpleMimeEntity.php(526): Swift_Mime_ContentEncoder_Base64ContentEncoder->encodeByteStream(Object(Swift_ByteStream_FileByteStream), Object(Swift_Transport_StreamBuffer), 0, 78) #3 C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\Mime\SimpleMimeEntity.php(548): Swift_Mime_SimpleMimeEnti in C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\prod\third\swift\classes\Swift\Transport\StreamBuffer.php on line 177
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775