php criar o arquivo e enviar como anexo sem realmente criar o arquivo
-
19-09-2019 - |
Pergunta
Eu sei como ler um arquivo no servidor e anexá-lo a um email em PHP, mas eu queria saber se eu poderia anexar um arquivo que é criado pelo meu script, mas não criado no servidor (um bocado como um temp Arquivo).
Então, criar um arquivo na memória e anexá-lo ao e-mail.
Bonus: talvez seja necessário criar vários arquivos, bem, isso seria demais para o servidor para lidar com? Eu não estou falando de GB mas como 5 arquivos com 1000 linhas cada um?
Solução
Sim, você pode fazer isso, desde que seja qual for biblioteca de e-mail que você está usando oferece suporte a ele. Se você não estiver usando um, você deve ser!
Não, 5 arquivos não será demais para o seu servidor a menos que você o comprou em 1993.
Esperemos que o seu lib não vai precisar de uma referência de arquivo - você pode fazer algo como:
$myEmail->attachData('file.name', 'mime/type', $data);
Se ele precisa de um caminho de arquivo, em seguida, você poderia usar um php: // memória arquivo:
$f = fopen('php://memory/myfile', 'w');
fwrite($f, '...');
fclose($f);
$myEmail->attach('php://memory/myFile');