Подумать только

logoas CogITas

Dubito - Ergo - Sum

× Error from canvas.getContext(): Maybe your browser or hardware (GPU) does not appear to support WebGL. The Canvas for WebGL below will be empty.
Mouse и Num Lock

Настройка получения почты с localhost на localhost по Mercury Mail

Строим блог – Шаг 6

Электронная почта

Электронная почта

      Для тестирования отправки сообщений с разрабатываемого сайта, есть возможность настроить отправку сообщений, используя бесплатный почтовый сервер gmail.com или mail.ru. Тогда сообщения будут уходить на сервер в интернете. Но, если выхода в Интернет нет, то можно настроить отправку сообщений на локальный сервер, используя Mercury Mail, входящий в XAMPP.

Серверы XAMPP

Серверы XAMPP

      Если Mercury Mail запустили из XAMPP, то чтобы открыть окно программы необходимо нажать кнопку Admin. Идем в Configuration -> Manage Local users – Add. Там заводим пользователя, к примеру, root с паролем root1:

Заводим пользователя почты

Заводим пользователя сервера почты

 

Настройки пользователя почты

Настройки пользователя сервера почты

      Проводим следующие настройки:

  • Configurations -> Mercury SMTP Server
Announce Myself as: 127.0.0.1
IP Interface to use: 127.0.0.1

 

  • Configurations -> Mercury POP 3 Server
IP Interface to use: 127.0.0.1

 

  • Configurations — > MercuryE SMTP Client
Identify Myself as : 127.0.0.1
Name server : 127.0.0.1

 

  • Configuration -> Mercury D pop3 Client – Add
POP3 Host : 127.0.0.1
Username : root
Password : root1

 

      Все, теперь осталось настроить какой-нибудь почтовый клиент, чтобы принимать и проверять “пришедшую” почту. У меня на компьютере оказался Outlook 2010 из состава Microsoft Office. Добавляем учетную запись:

Добавляем учетную запись почтового клиента

Добавляем учетную запись почтового клиента

      Вводим параметры учетной записи:

Настраиваем учетную запись почтового клиента

Настраиваем учетную запись почтового клиента

      Для теста, пробуем послать письмо сами себе:

Тестовое письмо

Пишем тестовое письмо

      Жмем кнопку получить письма
Кнопка проверки-отсылки писем

      Пришло письмо: 

Получаем тестовое письмо

Получаем тестовое письмо

      Осталось попробовать отправить письмо из программы. Наберем код в новый файл sendmail.php:

<?php
$email = "root@localhost.com";
$subj = "Тестовое сообщение на Mercury mail";
$emess = "Все ОК!".PHP_EOL;
$emess.= "Hello World. If all went well then you can see this mail in your Inbox".PHP_EOL;
$headers = "From: root@localhost.com";
$mailsend = mail("$email", "$subj", "$emess", "$headers");
if ($mailsend)
   echo "Письмо отправлено";
else
   echo "Ошибка отправки письма";
?>

      Запустим через сервер файл http://127.0.0.1/as/sendmail.php. Пришло письмо:

Письмо из веб-программы

Письмо из веб-программы

      Как видим, русская кодировка не прошла. Получили Windows-1251 вместо utf-8. Для исправления изменим код:

<?php
function mail_utf8($to, $subject = '(No subject)', $message = '', $headers)
{
   $header2 = 'MIME-Version: 1.0' . "\n" . 'Content-type: text/plain; charset=UTF-8' . "\n" . 'From: &lt;' . $headers . "&gt;\n";
   mail($to, '=?UTF-8?B?' . base64_encode( $subject ) . '?=', $message, $header2);
   return true;
}

$email = "root@localhost.com";
$subj = "Тестовое сообщение на Mercury mail";
$emess = "Все ОК!".PHP_EOL;
$emess.= "Hello World. If all went well then you can see this mail in your Inbox".PHP_EOL;
$headers = "root@localhost.com"; 	

$mailsend = mail_utf8 ("$email", "$subj", "$emess", "$headers");		
if ($mailsend)
   echo "Письмо отправлено";
else
   echo "Ошибка отправки письма";
?>

      Все в порядке:

Письмо из веб-программы без ошибок кодировки

Письмо из веб-программы без ошибок кодировки

Вывод

      Теперь при локальной разработке сайта мы можем тестировать работу с электронной почтой.

<< Предыдущий шаг

Следующий шаг >>


Комментарии к “Настройка получения почты с localhost на localhost по Mercury Mail”

  • Ольга говорит:

    Спасибо огромное за статью, мучилась с этим пару дней пока не нашла вашу инструкцию)

    Ответить
    • Андрей Свирский говорит:

      Рад, что информация помогла. Интересно, что именно не получалось: настройки сервера, прием писем, отправка из php?

      Я сегодня опубликовал новую статью, там в начале схожая тема — про почтовый ящик на хостинге (cogitas.ru/pochta-na-host... -posescheni.html).

      Ответить
      • Ольга говорит:

        Не получалось настроить сервер (не доходили письма), но Вы все грамотно и четко расписали, что это, наконец, удалось.

        Ответить
  • Оставить комментарий для Ольга Отменить

    Ваш email не будет отображаться. Обязательные поля помечены *

    (Чтобы установить аватар, необходимо зарегистрировать свой e-mail на gravatar.com. Как это сделать, написано в статье http://cogitas.ru/robots-avatar-icon-wordpress.html)