php mail() не будет отправлять вложения размером более 10 МБ

#apache #php

#apache #php

Вопрос:

Я установил эти переменные в php.ini , но mail не будет отправлять вложения размером более 10 МБ:

 max_execution_time = 8000 ; Maximum execution time of each script, in seconds
max_input_time = 8000     ; Maximum amount of time each script may spend parsing request data
memory_limit = 800M       ; Maximum amount of memory a script may consume (8MB)
post_max_size = 50M
upload_max_filesize = 50M
  

Решаемая:

Проблема была решена путем редактирования файла /etc/postfix/main.cf и увеличения размера message_size_limit. Кроме того, для тех, у кого возникли проблемы с mail(), попробуйте «tail /var/log/mail.log», чтобы увидеть ошибки.

Комментарии:

1. Что насчет почтовой программы, используемой для отправки этих писем? (MTA, я думаю, это его обозначение.)

2. не используйте функцию php mail(), использующую что-то, что создает прямое соединение с почтовым сервером.

3. Как вы создаете вложения? Вы создаете MIME multipart вручную? Вы используете какую-то другую библиотеку?

4. Я использую mail_attachment(), который кто-то сделал здесь: finalwebsites.com/forums/topic/php-e-mail-attachment-script

Ответ №1:

Пожалуйста, ознакомьтесь с некоторыми примерами / руководством по этой ссылке.

Этот человек здесь обращает внимание на то, что почтовый сервер также может установить ограничение на размер файла вложения.

Пожалуйста, прочтите здесь очень хороший момент о том, что электронная почта не является программой для передачи файлов!

Комментарии:

1. > Этот человек обращает здесь внимание на то, что почтовый сервер также может установить ограничение на размер файла вложения. И большинство так и делает, и 10M отправляет его на множество серверов — есть ли какая-либо причина отправлять вложение по почте, а не по ссылке HMAC’d, чтобы они могли загрузить его обычным способом? На практике нет большой разницы с точки зрения скорости и т.д., и это, как правило, намного надежнее.