Courier Mail Server

Задача:
Организовать в CMS приём входящей почты из ящиков, расположенных на gmail.com, и отправку исходящей почты на gmail.com.

Решение:
Поскольку в CMS пока нет встроенной поддержки SSL/TLS, воспользуемся программой stunnel. Она позволяет создавать SSL-туннели двух видов:

  • клиент без SSL -> stunnel -> сервер с SSL
  • клиент с SSL -> stunnel -> сервер без SSL

Для решения нашей задачи нужен туннель первого вида, используя который CMS сможет работать в качестве клиента с внешними SMTP- и POP3-серверами по SSL.
Работоспособность решения проверена автором на CMS 2.12 и stunnel 4.53.

Установка и настройка stunnel

1. Загружаем stunnel 4.53 (964 Кб) (сайт — www.stunnel.org) на тот же компьютер, где установлен CMS, и запускаем.

2. Устанавливаем все предлагаемые компоненты (2.4 Мб).

Примечание. Если в процессе установки появилось сообщение «Ошибка при инициализации приложения (0xc0150002)», прекращаем установку, устанавливаем Microsoft .NET Framework (проверено на версии 3.5) и повторно запускаем установку stunnel. В stunnel 4.54 (бета-версия) данная проблема решена. (Подсказал Karman).

3. В процессе установки появляется окно консоли. В нём нужно вводить запрашиваемые данные для создания SSL-сертификата. Можно просто нажимать Enter, тогда будут использованы значения по умолчанию, указанные в квадратных скобках.

Код:
Country Name (2 letter code) [PL]:
State or Province Name (full name) [Mazovia Province]:
Locality Name (eg, city) [Warsaw]:
Organization Name (eg, company) [Stunnel Developers]:
Organizational Unit Name (eg, section) [Provisional CA]:
Common Name (FQDN of your server) [localhost]:


4. После установки в корне диска появляется файл .rnd. Судя по информации, приведённой в справке, этот файл можно без последствий удалить.

5. Для установки службой (название службы — stunnel) выполняем: Пуск — Программы — stunnel — Service install.

6. Открываем файл настроек для редактирования: Пуск — Программы — stunnel — Edit stunnel.conf.

В разделе «Global options» добавляем строку (чтобы не появлялся значок в области уведомлений):

Цитата:
taskbar = no


В разделе «Service definitions» настройки приводим к следующему виду (остальные настройки не меняем):

Цитата:
;[pop3s]
;accept = 995
;connect = 110;[imaps]
;accept = 993
;connect = 143

;[ssmtp]
;accept = 465
;connect = 25

[gmail-pop3]
client = yes
accept = 127.0.0.1:2110
connect = pop.gmail.com:995

[gmail-smtp]
client = yes
accept = 127.0.0.1:2025
connect = smtp.gmail.com:465


Если нужно работать по SSL не только с gmail.com, но и с другими серверами, добавляем для них дополнительные секции в разделе «Service definitions». Например, для mail.infobox.ru добавляем:

Цитата:
[infobox-pop3]
client = yes
accept = 127.0.0.1:2111
connect = mail.infobox.ru:995[infobox-smtp]
client = yes
accept = 127.0.0.1:2026
connect = mail.infobox.ru:465


Сохраняем конфигурацию.

7. Запускаем службу stunnel: Пуск — Программы — stunnel — Service start.

8. Проверяем подключение к pop.gmail.com:

Код:
> telnet.exe 127.0.0.1 2110+OK Gpop ready for requests from 173.194.71.108 i9pf4396573lbh.10


Проверяем подключение к smtp.gmail.com:

Код:
> telnet.exe 127.0.0.1 2025220 mx.google.com ESMTP mo3sm6496546lab.2


Установка и настройка stunnel закончена.

Настройка CMS

Приём и отправку почты настраиваем как обычно, только вместо адреса:порта pop.gmail.com:995 используем 127.0.0.1:2110, а вместо smtp.gmail.com:465 — 127.0.0.1:2025. Соответствующие имена пользователей, пароли, адреса e-mail — от почтовых ящиков на gmail.com, без изменений. Всё.

 

2 комментария

  1. Валерий 01.11.2016 at 21:55

    Courier Mail Server с версии 3.05 уже умеет работать с SSL/TLS

     
    • nitro80 02.03.2017 at 00:20

      Это отлично… Мне очень не хватало тогда такого функционала, пришлось городить костыль, как в статье.

       

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

 

 

Theme by HermesThemes

Copyright © 2013-2015 Сумашедшие записки. All Rights типа Reserved