php создает файл и отправляет как вложение, фактически не создавая файл
Я знаю, как прочитать файл на сервере и прикрепить его к электронной почте на PHP, но я хотел знать, могу ли я прикрепить файл, созданный моим сценарием, но не созданный на сервере (вроде как временный файл).
Поэтому создайте файл в памяти и прикрепите его к электронной почте.
Бонус: возможно, потребуется также создать несколько файлов, не будет ли это слишком сложно для сервера? Я говорю не о ГБ, а о 5 файлах по 1000 строк в каждом?
1 answers
Да, вы можете это сделать, если любая используемая вами библиотека электронной почты поддерживает это. Если вы им не пользуетесь, то должны им быть!
Нет, 5 файлов не будет слишком много для вашего сервера, если вы не купили его в 1993 году.
Надеюсь, вашей библиотеке не понадобится ссылка на файл - вы можете сделать что-то вроде:
$myEmail->attachData('file.name', 'mime/type', $data);
Если для этого действительно нужен путь к файлу, то вы можете использовать php://памятьфайл:
$f = fopen('php://memory/myfile', 'w');
fwrite($f, '...');
fclose($f);
$myEmail->attach('php://memory/myFile');