Функция php mail() и IIS

Я кодировал сайт с помощью PHP. Наш клиент развернул сайт в IIS. Они установили PHP 5.2, но mail() функция не работает на их сервере.

Они добавили этот файл конфигурации в папку www:

web.config:

<configuration>
    <system.webServer>
        <handlers>
            <remove name="PHP- fastcgi" />
            <add name="PHP - FastCGI" path="*.php" verb="*" 
                 modules="FastCgiModule" 
                 scriptProcessor="C:\Php\php-cgi.exe" resourceType="Unspecified" />
        </handlers>
        <defaultDocument>
            <files>
                <add value="default.php" />
                <add value="index.php" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>

Следующая ошибка генерируется mail() функция:

server error - 500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.

Я знаю, что должно быть простое решение с редактированием php.ini файл. Но ответственное лицо заявило, что не может редактировать php.ini и мы должны кодировать контактную страницу с asp.

Есть ли способ отправить почту, используя php в этом случае?

2 ответа

Решение

Была долгая выдающаяся ошибка в mail() функция в PHP 5.2 на Windows:

Ошибка #28038 Неправильные команды RCPT TO отправлены на SMTP-сервер

From: заголовок был неправильно проанализирован mail() функционировать и наиболее корректно вести себя RFC-совместимые почтовые серверы будут отклонять его как недействительный адрес.

Теперь это исправлено в PHP 5.2.11+ (я проверял это с PHP 5.2.14, PHP 5.2.17 и PHP 5.3.6). Так что я бы узнал точную версию PHP 5.2.x, под которой работает ваше приложение, и посмотрел бы, не подвержена ли она этой ошибке.

Однако я бы рекомендовал вместо этого использовать SwiftMailer. Вы получаете гораздо больший контроль над такими вещами, как настройка сервера исходящей почты, аутентификация и т. Д., И это не зависит от использования встроенного mail() функция. У нас есть несколько клиентов, использующих это на нашей платформе общего хостинга, и они очень довольны этим.

Вы можете попробовать и установить параметры с

ini_set()

функция

ссылка ini_set

Другие вопросы по тегам