В начало блога На главную

Отправка почты через SMTP Adobe Muse

Muse отправляет почту исключительно посредством функции mail в php и штатных способов изменить способ отправки пока что нет (в версии 2015.1).
Но есть вариант немного переделать стандартную отправку чтобы почта шла через SMTP с аутентификацией. А именно использовать скрипт PHPMailer, его последнюю версию можно скачать по адресу https://github.com/PHPMailer/PHPMailer/releases

Скаченный скрипт PHPMailer нужно выложить на хостинг в каталог /scripts. Сейчас самая последняя версия 5.2.14, значит соответственно полный адрес до скрипта будет адрес.ru/scripts/PHPMailer-5.2.14

Далее нужно открыть form_process.php и изменить строку $sent = @mail($to, $subject, $message, $headers); на:

require 'PHPMailer-5.2.14/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'АДРЕС'; // вместо АДРЕС вписать адрес smtp вашего хостинга, обычно это mail.имявашегосайта.ru
$mail->SMTPAuth = true;
$mail->Username = 'ЛОГИН'; // вместо логин вписать логин адрса от имени кого будет отправлена почта, иногда это полный адрес почты имя@имявашегосайта.ru
$mail->Password = 'ПАРОЛЬ'; // вместо ПАРОЛЬ вписать пароль от почтового ящика
//$mail->SMTPSecure = 'tls'; // если используется шифрование нужно его указать
$mail->From = 'ОТКОГО'; // вместо ОТКОГО вписать адрес почты отправителя, желательно чтобы совпадал с $mail->Username
$mail->FromName = 'ИМЯ'; // вместо ИМЯ вписать произвольное имя, это будет заголовок писем
$mail->addAddress('КОМУ'); // вместо КОМУ вписать адрес куда будет отправлено письмо, то есть свой адрес почты
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $message;
$sent = $mail->send();

Если все будет правильно заполнено, то почта будет отправляться корректно.
Следует помнить что Adobe Muse при публикации файлов на ftp заменит вышеуказанные изменения на свои при каждом сохранении.

Рассказать:


  1. Татьяна:

    Большое вам спасибо! Наконец, решила свою проблему с отправкой почты с сайта на мьюзе 🙂 Это пока что самый быстрый скрипт — письма приходят мгновенно. Пробовала с яндексом, майл.ру, gmail.

    Только теперь у меня другая проблема )) В gmail заголовок письма отображается в нерусской кодировке (треугольники, квадраты и все такое), в майл.ру вообще все письмо. И только с яндексом все в порядке.

    А по закону подлости, заказчику нужно, чтобы заявки с сайта приходили именно на майл.ру.

    Может, есть какое-то решение и этой беды? У меня уже голова квадратная….

    1. Влад:

      Спасибо за скрипт.
      Встречающиеся проблемы при подключении.

      Папка phpmailer должна лежать на одном и том же уровне вместе со скриптом выполнения.

      Решение проблемы с кодировкой
      в коде после
      $mail = new PHPMailer;
      добавить
      $mail->setLanguage(‘ru’, ‘/’);
      $mail->CharSet = ‘UTF-8’;
      и дальше будет идти
      $mail->isSMTP();

      Так же после переменной
      $mail->Host = ‘ВАШ ХОСТ’; // вместо АДРЕС вписать адрес smtp вашего хостинга, обычно это mail.имявашегосайта.ru
      можно добавить переменную
      $mail->Port = 25;
      если для вас это критично. К примеру почта mail.ru либо google принимает на отдельный port

  2. Татьяна:

    Здравствуйте! Все сделала как здесь написано, однако при отправке пишет : Form PHP script is missing from web server, or PHP is not configured correctly on your web hosting provider. Check if the form PHP script has been uploaded correctly, then contact your hosting provider about PHP configuration. (Форма PHP скрипт отсутствует на веб-сервере, или PHP не настроен правильно на веб-хостинг-провайдера. Проверьте, правильно ли загружен PHP-скрипт формы, а затем обратитесь к своему хостинг-провайдеру о конфигурации PHP.)
    Обращаться в хостинговую компанию?