Поэтому я сделал этот php-скрипт (используя PHPMailer), который собирает руководство и отправляет автоматическую почту с файлом PDF в качестве вложения.
Проблема заключается в том, что скрипт работает для файлов небольшого размера. Но клиент предоставил мне отправить файл PDF размером 24,139 КБ.
Таким образом, я увеличил memory_limit
до 128M, так как память была исчерпана раньше (ранее 64M). Скрипт теперь отлично работает без ошибок, но я не получаю почту с этим большим файлом
Есть ли почтовые провайдеры, такие как Gmail, Yahoo и т. Д. Блокирует большие вложения? Если бы кто-нибудь мог сказать мне, что такое максимальный размер, чтобы я мог попросить моего клиента ограничить размер PDF
Любая помощь?? Sharan
Yahoo: вы можете отправлять и получать электронные письма размером до 25 МБ с помощью Yahoo Mail. [1]
Gmail: ограничение размера вложения. Вы можете отправлять сообщения размером до 25 мегабайт (МБ). [2]
Hotmail / Outlook: 10 МБ [3]
Gmail включает полный размер сообщения.
[1] https://help.yahoo.com/kb/message-size-limit-sln5673.html
[2] https://support.google.com/mail/answer/6584?hl=ru
[3] http://answers.microsoft.com/en-us/windowslive/forum/email/what-is-hotmails-attachment-size-limit/feeed45f-bdab-47fc-a206-509aa2e9175d
Это может занять довольно много памяти, чтобы кодировать большие файлы в памяти, поэтому увеличение memory_limit
– это правильная вещь.
Максимальный размер сообщения, который принимает SMTP-сервер, часто указывается в ответе на команду EHLO. В PHPMailer открыт билет, но пока он не поддерживает его автоматически.
Имейте в виду, что для двоичных файлов требуется кодировка base64, что увеличивает размер файла примерно на 1/3.
Чтобы точно узнать, почему вы не доставляете свое сообщение, установите $mail->SMTPDebug = 3;
и вы увидите диалог SMTP. В противном случае проверьте свойство ErrorInfo
после отправки или журналы локального почтового сервера, если вы не отправляете через SMTP.