Отправка писем через PHP (функция mail();)

Если у Вас в скриптах PHP используется функция встроенная в PHP , такая как mail(); , которая использует для отправки почты напрямую программу sendmail , Вам потребуется сменить ее использование на функцию которая работает через SMTP сервер, используя удаленную авторизацию.

  1. Скачайте файл функции (http://www.westhost.ru/faq/smtpmail.zip)
  2. Распакуйте архив smtpmail.zip - Вы увидите файл smtpmail.php
  3. Сделайте изменения в самом верху файла, на нужные:
  4. Код:
    -----
    $config['smtp_username'] = 'my@domain.ru'; //Смените на имя своего почтового ящика.
    $config['smtp_port'] = '25'; // Порт работы. Не меняйте, если не уверены. 
    $config['smtp_host'] = 'mail.westhost.ru'; //сервер для отправки почты(для наших клиентов менять не требуется) 
    $config['smtp_password'] = 'SECRET'; //Измените пароль 
    $config['smtp_debug'] = false; //Если Вы хотите видеть сообщения ошибок, укажите true вместо false 
    $config['smtp_charset'] = 'Windows-1251'; //кодировка сообщений. (или UTF-8, итд) 
    $config['smtp_from'] = 'Your Server Name'; //Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого"
    -----
    
  5. Закачайте измененный файл в папку откуда он будет доступен для других файлов. (зачастую это папка include или includes для Ваших скриптов).
  6. Внесите изменения в файл, откуда вызывается функция mail(); Вам необходимо заменить вызов функции mail(); на:
  7. Было:
    -----
    mail($mail_to, $subject, $message, $headers='');
    -----
    
    Стало:
    -----
    $smtpmailpath='.'; // Путь до файла smtpmail.php
    include($path.'/smtpmail.php');
    smtpmail($mail_to, $subject, $message, $headers='');
    -----
    
  8. Тестируйте отправку почты. если Вы по каким либо причинам получаете ошибки, проверьте правильность указанного пути до файла функций в конфигурационном файле. Проверьте пароль и имя указанного почтового ящика в настройках. Возможно что там сделана ошибка. Если все же Вы считатете что сделали все правильно, но отправка почты все-таки не работает, свяжитесь с нами. Мы постараемся тогда вместе решить эту проблему.

  9. [Закрыть]