Enviar varios emails com anexo pdf sem abrir o ReportPDF

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

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.

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.

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"))
{
?>

<?php
}
Campo que tem o link para o orçamento
{Anexo} = " num.[var_num_orcamento]";
Ligado ao Report Pdf (abrir em uma nova guia)

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

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

[RESOLVIDO]

Valeu Rodrigo

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

descobri o erro…faltava criar uma pasta… :slight_smile:

bom…to criando o arquivo belesa…agora pegar ele e enviar tá osso…

help-me… :wink:

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

Estou usando essa:

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 :

$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…

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";

Estou enviando com o PHPMailer muito mais pratico e possui mais controle sobre os envios

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

altere as permissões dessas pastas para 777
pdf
odc

??? não pode ser isso… se está gravando o arquivo, porque nao pode ler/abrir ?

Estou pegando o caminho absoluto assim:
[glo_nome_pdf_caminho] = $_SESSION[‘scriptcase’][‘enviar_email_pdf’][‘glo_nm_path_doc’]."/".“AUTORIZACAO-”.[glo_nome_pdf_odc].".pdf";

tem esse retorno -: [/_lib/pdf/odc/AUTORIZACAO-OC-2015-07-278.pdf]

ele esta sendo gravado na pasta-> C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\app\MAM_Gestao_ISO_PBQPH_lib\pdf\odc

mas o erro persiste.

dei acesso full na pasta ODC, tirei o parametro somente leitura.

OBS: estou usando a macro sc_mail_send(xxxxxx);

consegui…foi erro bobo…
valeu pela força…
vou postar um video do problema e como cheguei a solução.

Vídeo :

https://www.youtube.com/watch?v=ECaEJQMTNnM

Já tive problemas com esse campo (aplicação, caminho para documentos). Também informei o SC que ao fazer backup e restaurar, sempre ele traz esse campo com o caminho antigo, se instalar em outro diretório e voltar o backup sempre ficará o caminho antigo e possivelmente dará esses erros.