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?

Foi útil?

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');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top