Сервер Linux (php mail) отправляет атрибуты Windows IIS (php mail) не отправляет (иначе почта работает отлично) - PullRequest
0 голосов
/ 20 апреля 2011

У меня есть скрипт (бланк заявления о приеме на работу), который отправляет HTML-письмо с вложенными файлами.Он был протестирован и разработан на сервере Linux, но развертывается на Windows iis7.Проблема в том, что вложения файлов, отправляемые через php mail (smtp), по-видимому, удаляются из всех их данных.Файлы приходят с ext и именем файла, но теперь размер файла составляет 304 байта или 260 байтов.Что может быть причиной этого и как я могу решить.

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

PHP фактически не отправляет почту сам. Вызов mail - это просто передача в почтовую систему. Вы тестировали на Linux-машине с использованием sendmail или чего-то подобного, но Windows Mailers отличаются. Протестируйте в точном окружении, и вы сможете отлаживать.

0 голосов
/ 21 апреля 2011

Оказывается, что C: \ windows \ temp не имел IIS_IUSRS с доступом для чтения и записи.

Итак, если вы столкнетесь с этой проблемой:

  1. перейдите к C: \ windows \ temp *
  2. Щелкните правой кнопкой мыши, и он откроет свойства.
  3. Перейдите на вкладку «Безопасность» и в разделе (имя группы или пользователя :) нажмите «Изменить».
  4. на следующем экране, если IIS_IUSRS не указан, нажмите добавить
  5. на следующем экране вы увидите текстовое поле, введите IIS_IUSRS
  6. теперь вы должны иметь возможность устанавливать разрешения.
  7. Теперь просто нажмите на iis_usrs на вкладке «Безопасность» и выберите «Чтение и выполнение», «Чтение и запись» и установите для разрешения.

* это установлено в php.ini, это настройка по умолчанию для временных файлов под windows, ваш файл php.ini может быть чем-то другим, так что проверьте дважды. Теперь тебе должно быть хорошо идти. Я надеюсь, что мой ответ может помочь кому-то еще в будущем.

...