Отправка почты на php как FastCGI

Тема в разделе "Администрирование серверов", создана пользователем andrewa, 19 дек 2009.

Статус темы:
Закрыта.
Модераторы: mefish, stooper
  1. andrewa

    andrewa

    Регистр.:
    11 янв 2008
    Сообщения:
    171
    Симпатии:
    7
    имеется скрипт поиска работы "MDS-Job".

    при установке на хостинг, где PHP как модуль Apache (тестировалось на best-hoster.ru) функция mail работает четко - сообщение отсылается при регистрации нового пользователя, при подтверждении добавления нового объявления, письмо админу о регистрации нового пользователя, ВОССТАНОВЛЕНИЕ ПАРОЛЯ...

    при установке на хостинг, где PHP как suPHP (m-hoster.ru) - также, все функции работают...

    НО..., при установке на хостинг, где PHP как FastCGI (komtet.ru) работают все функции mail, кроме ВОССТАНОВЛЕНИЯ ПАРОЛЯ...

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

    сама отправка отправка нового пароля после генерации:

    PHP:
    if(mail($email_userFILE_NEWPASS_MESSAGE_NEW_PASS_ON_SITE ' ' $site_url$send_message$headers))
                    {
                        print 
    '<center>' FILE_NEWPASS_MESSAGE_PASS_WAS_SEND '</center>'
                            
    '<script type="text/javascript">function reload() { window.location = "index.php" }; setTimeout("reload()", 5000);</script>';

                    }
                    else
                    {
                        print 
    '<p style="color: #ff0000; text-align: center;">' FILE_NEWPASS_MESSAGE_ERROR_SEND '</p>';
                    }
    к разработчикам претензий вроде-как нет, так как на других хостингах работает...

    но на FastCGI при регистрации пароль приходит на почту, код активации добавленных объявлений тоже приходит, но вот ВОССТАНОВЛЕНИЕ ПАРОЛЯ - никак.

    может ли на это влиять настройка PHP как FastCGI?
     
  2. despainer

    despainer

    Регистр.:
    15 фев 2008
    Сообщения:
    615
    Симпатии:
    168

    попробуй принудительно указать в файле php.ini (не глобальный а твой файл с настройками) путь к sendmail.
    Вот такая строчка:
    sendmail_path=/usr/sbin/sendmail -t -i
     
  3. andrewa

    andrewa

    Регистр.:
    11 янв 2008
    Сообщения:
    171
    Симпатии:
    7
    опустил указанный файл php.ini с предлагаемой строчкой в место нахождение файла восстановления пароля... результата никакого...

    но... при формировании headers
    Код:
    // отправка пользователю сообщения с новым паролем
    $headers = 'Content-Type: text/html; charset=windows-1251' . "\r\n"
    . 'From: ' . $site_url . '<' . $adminemail . '>' . "\r\n";
    -------------------------------
    // отправляем сообщение    
    if(mail($email_user, FILE_NEWPASS_MESSAGE_NEW_PASS_ON_SITE . ' ' . $site_url, $send_message, $headers))
    
    используется переменная $site_url (есть ни что иное, как урл сайта), убрав которую:
    Код:
    // отправка пользователю сообщения с новым паролем
    $headers = 'Content-Type: text/html; charset=windows-1251' . "\r\n"
    . 'From: Admin <' . $adminemail . ">\r\n";
    при отсылке, почта с новым паролем четко уходит...

    это, что получается, при php как FastCGI, он не любит ссылок в headers?
     
Статус темы:
Закрыта.