Сервер Linux (php mail) отправляет атрибуты Windows IIS (php mail) не отправляет (иначе почта работает идеально)
У меня есть скрипт (бланк заявления о приеме на работу), который отправляет HTML-письмо с вложенными файлами. Он был протестирован и разработан на сервере Linux, но развертывается на Windows iis7. Проблема в том, что вложения файлов, отправляемые через php mail (smtp), по-видимому, удаляются из всех их данных. Файлы приходят с ext и именем файла, но теперь размер файла составляет 304 байта или 260 байтов. Что может быть причиной этого и как я могу решить.
2 ответа
PHP на самом деле не отправляет почту сам. Призыв к mail
это просто проход к почтовой системе. Вы тестировали на Linux-машине с использованием sendmail или чего-то подобного, но Windows Mailers отличаются. Проверьте на точную среду, и вы сможете отлаживать.
Оказывается, что C:\windows\temp не имел IIS_IUSRS с доступом для чтения и записи.
Так что, если вы столкнетесь с этой проблемой:
- перейдите к C:\windows\temp *
- Щелкните правой кнопкой мыши, и он откроет свойства.
- Перейдите на вкладку "Безопасность" и в разделе (имя группы или пользователя:) нажмите "Изменить".
- на следующем экране, если IIS_IUSRS не указан, нажмите кнопку Добавить.
- на следующем экране вы увидите текстовое поле, введите IIS_IUSRS
- Теперь вы должны иметь возможность устанавливать разрешения.
- Теперь просто нажмите на iis_usrs на вкладке "Безопасность" и выберите "Чтение и выполнение", "Чтение и запись" и установите "Разрешить".
* это установлено в php.ini, это настройка по умолчанию для временных файлов под windows, ваш файл php.ini может быть чем-то другим, поэтому проверьте дважды. Теперь тебе должно быть хорошо идти. Я надеюсь, что мой ответ может помочь кому-то еще в будущем.