Показаны сообщения с ярлыком sendmail. Показать все сообщения
Показаны сообщения с ярлыком sendmail. Показать все сообщения

среда, 5 мая 2021 г.

Конфигурирование связки SPF, DKIM, DMARC записей и sendmail на debian

    Что такое SPF, DKIM, DMARC объяснять не буду. Раз вы это читаете, то вы уже знаете, что это или хотя бы зачем. Тут просто расскажу как я это установил на debian buster c почтовым сервером sendmail. 

#apt install opendkim opendkim-tools

#vim /etc/opendkim.conf

Syslog                         yes
SyslogSuccess            Yes
LogWhy                      Yes
AutoRestart                Yes
AutoRestartRate        10/1h
UMask                        002
Canonicalization        relaxed/simple
Mode                          sv
Socket                        inet:8891@127.0.0.1
PidFile                       /var/run/opendkim/opendkim.pid
SignatureAlgorithm   rsa-sha256
UserID                       opendkim:opendkim
Domain                       my.domain.ua
Selector                      mymail

OversignHeaders       From
TrustAnchorFile         /usr/share/dns/root.key
ExternalIgnoreList     refile:/etc/opendkim/TrustedHosts
InternalHosts             refile:/etc/opendkim/TrustedHosts
KeyTable                     refile:/etc/opendkim/KeyTable

SigningTable               refile:/etc/opendkim/SigningTable

Обратите внимание на пять строчек, выделенных жирным шрифтом. Их понимание, на мое мнение, особенно важно для того, что мы хотим сделать.

вместо my.domain.ua подставим вывод команды  (на почовом сервере)

#hostname -d

вместо mymail подставим вывод команды (также на почтовике) 

#hostname 

Далее создаем директорию, где находится пара приватный-публичный ключи:

#mkdir -p /etc/opendkim/keys

И создаем собственно эти ключи:

#opendkim-genkey -D /etc/opendkim/keys -d my.domain.ua  -s mymail
#chown -R opendkim:opendkim /etc/opendkim/keys
#chmod 640 /etc/opendkim/keys/mymail.private
#chmod 644 /etc/opendkim/keys/mymail.txt

mymail.private - здесь хранится приватный ключ, доступ к которому имеет только почтовый демон (в нашем случае - сендмейл).
mymail.txt - здесь хранится публичный ключ, который мы впишем в файл зоны днс.
    Далее создаем и редактируем три таких файла:

#vim /etc/opendkim/KeyTable

mymail._domainkey.my.domain.ua my.domain.ua:mymail:/etc/opendkim/keys/mymail.private
Здесь мы говорим мы говорим мильтеру opendkim, а значит сендмейлу, где находится приватный ключ.

#vim /etc/opendkim/SigningTable

*@my.domain.ua mymail._domainkey.my.domain.ua
Здесь мы говорим какие почтовые адреса соответствуют dkim-записи в днс.

#vim /etc/opendkim/TrustedHosts

127.0.0.1
localhost
my.domain.ua
Тут имя файла говорит само за себя.
 
    Рестартуем опендким и смотрим, слушает ли он порт, что мы прописали в конфиге выше:
#systemctl restart opendkim
#netstat -nlp | grep 8891
tcp        0      0 127.0.0.1:8891          0.0.0.0:*               LISTEN      23116/opendkim

    Расскажем сендмейлу, что у него появился новый мильтер (о мильтере можно думать как о некоем плагине, который подсоединяется к главному процессу сендмейла с помощью специального API - milter API). Редактируем текстовый конфиг сендмейла:
#vim /etc/mail/sendmail.mc
...

INPUT_MAIL_FILTER(`milter1', `...')dnl
INPUT_MAIL_FILTER(`milter2', `...')dnl
INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')dnl
define(`confINPUT_MAIL_FILTERS',`opendkim,milter1,milter2')dnl
...

milter1 и milter2 вписаны для примера. Их может и не быть или может быть больше двух. У меня, например, к сендмейлу подсоединены два мильтера кламава и спамассассина. Третий стало быть опендким. Обратите внимание на `S=inet:8891@127.0.0.1' - эта запись должна совпадать с тем, что мы прописали в конфиге выше.

Выполняем

#sendmailconfig
#systemctl restart sendmail 

Осталось отконфигурировать файл прямой зоны авторитетного днс для домена, который обслуживает наш почтовый сервер:

$ORIGIN         my.domain.ua.
@                     IN SOA  mydns.my.domain.ua. hostm.my.domain.ua. ( ... )
                        IN      NS      mydns.my.domain.ua.
                        IN      MX      10 mymail.my.domain.ua.
@                     IN      TXT     "v=spf1 +mx +a ip4:11.11.11.11 -all"
mymail._domainkey        IN    TXT    "v=DKIM1\; h=sha256\; k=rsa\; p=""xxxx""xxxx""xxxx""xxxx" 
_adsp._domainkey        IN    TXT    "dkim=all"
_dmarc                        IN    TXT    "v=DMARC1\; p=reject\; rua=mailto:hostm@my.domain.ua"

    11.11.11.11 - айпишник нашего почтовика. Строка

mymail._domainkey        IN      TXT     "v=DKIM1\; h=sha256\; k=rsa\; p=""xxxx""xxxx""xxxx""xxxx"

полностью соответствует содержимому файла mymail.txt, что мы создали ранее. ххххххх - так обозначены цифры ключа. Есть пара нюансов. Точки с запятой в файле днс соответствуют началу комментариев. Поэтому мы их экранируем слэшем. Также, строки в файле зоны днс не могут быть длиннее кажется 256 символов, что меньше, чем длина нашей строки (строка, что начинается из v= ), из-за чего эту длинную строку надо разбить несколькими вставками "" - они обозначены синим цветом. Также длинные строки можно заключать в круглые скобки, но у меня почему-то это не работало.

    Строка с v=spf1 и есть spf запись. Строка с v=DKIM1 и есть dkim запись. Строка с v=DMARC1 и есть dmarc запись. Две строки, начинающиеся с _adsp и _dmarc просят всех не принимать письма без DKIM-подписи нашего домена. Собственно для этого все это и затевалось.

    Теперь при отсылке почты в логах почтовика появяться соответствующие строки:

# journalctl -u opendkim

DKIM-Signature field added (s=mymail, d=my.domain.ua)

    Также в служебной информации писем появяться DKIM-подписи вашего домена.

    Я б рекомендовал бы вот эту ссылку , которая была основой данного изложения, но надеюсь, здесь все написано достаточно точно.

воскресенье, 17 января 2021 г.

Sendmail: анализ логов

    Отчаявшись найти хотя б даже и неинтуитивный анализатор логов почтового сервера на Sendmail и Dovecot, пришлось осилить несколько строк командной оболочки. Дело было в Дебиан.

#journalctl --since yesterday -u sendmail|grep ctladdr|grep Sent|awk -F: '{print $5}'|grep -Po 'ctladdr=<\K[^>]*' 

Это смотрим отправщиков писем.

#ls -al /var/mail/|awk '{printf("%-20s%s\n", $3,$5)}'

Это анализируем почтовые ящики.

#journalctl -u dovecot|grep pop3-login|egrep -v Disconnected|awk -F, '{print $1}'|awk -v RS='<' -v FS='>' 'NR>1{print $1}'

Это анализируем читателей писем.


sort|uniq -c|sort -nk1 такое добавляем в конец пайпа для сортировки вывода по числам в первом столбце.

awk '{sum+=$2} END {print $2}' такого типа команду добавляем в конец пайпа, чтоб просуммировать числа во втором столбце.

Ну и напоследок формат по умолчанию записи в журнал сендмейлом в случае если отсылка мыла произошла успешно (схематично):

Date Time MyServerName sm-mta[x]: 10HF0kYP020730: from=<g@g.org>, size=x, class=0, nrcpts=1, msgid=<xxx>, proto=ESMTPSA, daemon=MTA, relay=server.domen [x.x.x.x]
Date Time MeServerName sm-mta[x]: 10HF0kYP020730: to=<g2@g2.org>, ctladdr=<g@g.org> (1254/1498), delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=120563, relay=x.net. [x.x.x.x], dsn=2.0.0, stat=Sent (ok dirdel)



 

 

среда, 10 июня 2015 г.

Как послать почтовое сообщение из командной строки UNIX

Существует много способов сделать это, конечно. Приведем примеры с использованием утилит mail и mutt:
#echo "message" | mutt -a /path/to/file/with/attachment -s "subject" 
        -- my@e.mail.address
#mutt -a /path/to/file/with/attachment -s "subject" -- my@e.mail.address 
        < /path/to/file/with/text
#echo "message" | mail -s "subject" my@e.mail.address
#mail -s "subject" my@e.mail.address < /path/to/file/with/text

четверг, 29 апреля 2010 г.

Временные задержки (таймауты) в Sendmail

Sendmail позволяет изменять timeout-ы для разных фаз почтовой транзакции. Значения по умолчанию некоторых таймаутов нелепо велики по сравнению с рекомендуемыми RFC значениями. Вот возможные значения таймаутов, установив которые в конфигурационном файле senmail-a, можно будет разгрузить систему:
define(`confTO_ICONNECT', `15s')dnl
define(`confTO_CONNECT', `3m')dnl
define(`confTO_HELO', `2m')dnl
define(`confTO_MAIL', `1m')dnl
define(`confTO_RCPT', `1m')dnl
define(`confTO_DATAINIT', `1m')dnl
define(`confTO_DATABLOCK', `1m')dnl
define(`confTO_DATAFINAL', `1m')dnl
define(`confTO_RSET', `1m')dnl
define(`confTO_QUIT', `1m')dnl
define(`confTO_MISC', `1m')dnl
define(`confTO_COMMAND', `1m')dnl
define(`confTO_STARTTLS', `2m')dnl

По умолчанию у таймаутов стоят такие значения:
confTO_INITIAL [5m]
confTO_CONNECT [0]
confTO_ACONNECT [0]
confTO_HELO [5m]
confTO_MAIL [10m]
confTO_RCPT [1h]
confTO_DATAINIT [5m]
confTO_DATABLOCK [1h]
confTO_DATAFINAL [1h]
confTO_RSET [5m]
confTO_QUIT [2m]
confTO_MISC [2m]
confTO_COMMAND [1h]
confTO_IDENT [5s]
confTO_FILEOPEN [60s]
confTO_LHLO [2m]
confTO_AUTH [10m]
confTO_STARTTLS [1h]
confTO_CONTROL [2m]
confTO_QUEUERETURN [5d]
confTO_QUEUEWARN [4h]
confTO_HOSTSTATUS [30m]

Следующие таймауты неопределены:
confTO_ICONNECT Timeout.iconnect
confTO_QUEUERETURN_NORMAL
confTO_QUEUERETURN_URGENT
confTO_QUEUERETURN_NONURGENT
confTO_QUEUERETURN_DSN
confTO_QUEUEWARN_NORMAL
confTO_QUEUEWARN_URGENT
confTO_QUEUEWARN_NONURGENT
confTO_QUEUEWARN_DSN

confTO_RESOLVER_RETRANS
confTO_RESOLVER_RETRANS_FIRST
confTO_RESOLVER_RETRANS_NORMAL
confTO_RESOLVER_RETRY
confTO_RESOLVER_RETRY_FIRST
confTO_RESOLVER_RETRY_NORMAL

среда, 11 ноября 2009 г.

Инсталляция и использование DCC клиента на FreeBSD

DCC можно использовать в виде клиента или в виде сервера. Для того чтобы использовать серверный вариант необходимо получить server-ID. Получить его можно (следуя инструкции по инсталляции) через соответствующую веб-форму на сайте производителя. Чтобы вас рассматривали как успешного кандидата на получение этого идентификационного кода, вам необходимо иметь почтовый "оборот" не менее 100 тысяч писем в день и 4 гигабайта оперативной памяти для процесса сервера DCC. Поэтому далее обсуждать будем только "клиентский" вариант.
Рассмотрим случай, когда роль почтового сервера играет sendmail. Взаимодействие с DCC осуществляется через механизм мильтеров.
#uname -prs
FreeBSD 7.0-RELEASE i386
# cd /usr/ports
# make search name=dcc


...
Port: dcc-dccd-1.3.115
Path: /usr/ports/mail/dcc-dccd
Info: Distributed Checksum Clearinghouse bulk email detector
Maint: cgreen@sentex.net
B-deps:
R-deps:
WWW: http://www.rhyolite.com/dcc/
...


#cd mail/dcc-dccd
#make install

Делаем без clean, так как нам понадобиться директория work
Правим фаерволл (я использую pf):
#vim /etc/pf.conf
pass out on fxp0 proto udp from fxp0 to any port { 6276 6277 }
pass in on fxp0 proto udp from any port {6276 6277 } to fxp0

Правим
#vim /var/dcc/dcc_conf
DCCM_ENABLE=on
# vim /etc/rc.conf
dccm_enable="YES"
# cd mail/dcc-dccd/work/dcc-1.3.115/
# ./configure

В директории mail/dcc-dccd/work/dcc-1.3.115/misc/ появится файл dcc.m4. Скопируем его в /usr/local/share/sendmail/cf/feature/.
Далее - комментируем в нем всю часть, относящуюся к LOCAL_RULESETS. И добавляем в конфигурационный mc файл, находящийся в /etc/mail:
FEATURE(`dcc')dnl
Добавляем в том же файле "dcc" в строчку перечисления используемых мильтеров (если это единственный мильтер, который мы используем, то слово dcc будет одно):
define(`confINPUT_MAIL_FILTERS', `milter1,milter2,...,dcc')
#vim /var/dcc/whiteclnt
mx ip xxx.xxx.xxx.xxx адрес вашего почтовика
ok env_to postmaster административные почтовые адреса
ok env_to root@xxx.xxx.xxx.xxx
ok ip 10.10.0.0/16 ваша локальная сеть


Стартуем мильтер и рестартуем почтовый сервер:
# /usr/local/etc/rc.d/dccm start
# /usr/local/etc/rc.d/sendmail.sh stop start
#ps ax|grep dcc


...
47063 ?? Is 0:00.00 /usr/local/dcc/libexec/dccm -Idcc -tREP,20 -tCMN,5, -wwhiteclnt -llog -Uuserdirs -SHELO -Smail_host -SSender -SList-ID
47065 ?? S 0:00.20 /usr/local/dcc/libexec/dccm -Idcc -tREP,20 -tCMN,5, -wwhiteclnt -llog -Uuserdirs -SHELO -Smail_host -SSender -SList-ID
...


Полезными будут следующие ссылки:
http://linux.die.net/man/8/dcc
http://www.rhyolite.com/dcc/INSTALL.html#configure-dccproc
http://kocmuk.ru/2008/12/27/dcc-distributed-checksum-clearinghouse/

воскресенье, 13 сентября 2009 г.

Создание почтовой рассылки с помощью mailman, sendmail и FreeBSD.

Все действия происходят на:
# uname -prs
FreeBSD 7.0-RELEASE i386

Ищем нужный для наших целей порт:
# cd /usr/ports
# make search name=mailman

Port: mailman-2.1.12
Path: /usr/ports/mail/mailman
Info: A mailing list manager (MLM) with a user-friendly web front-end
Maint: jmelo@FreeBSD.org
B-deps: python26-2.6.2_2
R-deps: python26-2.6.2_2
WWW: http://www.list.org/


Заходим в найденную нами директорию и даем команду на инсталляцию. При конфигурировании возникает вопрос о том, какой почтовой программой будем пользоваться. В данном случае выбираем:
[X] SENDMAIL for use with sendmail
Порт устанавливает MAIL_GID=mailnull.

Также нам сообщаеться, какие параметры мы можем изменить во время компиляции:
You may change the following build options:
MM_USERNAME=mailman The username of the Mailman user.
MM_USERID=91 The user ID of the Mailman user.
MM_GROUPNAME=mailman The group to which the Mailman user will belong.
MM_GROUPID=MM_USERID The group ID for the Mailman user.
MM_DIR=mailman Mailman will be installed in /usr/local/mailman.
CGI_GID=www The group name or id under which your web server executes CGI scripts.
IMGDIR=www/icons Icon images will be installed in /usr/local/www/icons.


По успешном завершении компиляции выдается такое сообщение:
----------------------------------------------------------------------------
Mailman has been installed, but requires further configuration before use!

You will have to configure both your MTA (mail server) and web server to
integrate with Mailman. If the port's documentation has been installed,
extensive post-installation instructions may be found in:

/usr/local/share/doc/mailman/FreeBSD-post-install-notes

Note (1): If you use an alternate (non-Sendmail) MTA, you MUST be sure
that the correct value of MAIL_GID was used when this port or package
was built. Performing a "make config" in the Mailman port directory
you can choose your MTA with the correct MAIL_GID.

Note (2): The entire Mailman installation resides under /usr/local/mailman
The command-line scripts necessary to administer Mailman have been
installed in /usr/local/mailman/bin

Note (3): As of version 2.1, Mailman's queue runner runs as a daemon and
is started by a script in /usr/local/etc/rc.d
----------------------------------------------------------------------------


SECURITY REPORT сообщает нам про установку таких испоняемых файлов:
/usr/local/mailman/cgi-bin/create
/usr/local/mailman/cgi-bin/subscribe
/usr/local/mailman/mail/mailman
/usr/local/mailman/cgi-bin/listinfo
/usr/local/mailman/cgi-bin/rmlist
/usr/local/mailman/cgi-bin/options
/usr/local/mailman/cgi-bin/private
/usr/local/mailman/cgi-bin/admindb
/usr/local/mailman/cgi-bin/edithtml
/usr/local/mailman/cgi-bin/roster
/usr/local/mailman/cgi-bin/admin
/usr/local/mailman/cgi-bin/confirm

Ну что ж, заглянем в файл, про который нам сказали:
#less /usr/local/share/doc/mailman/FreeBSD-post-install-notes
Выделим основные шаги, которые мы предпримем:
1) Общие послеинсталяционные шаги;
2) Интеграция Mailman с нашим веб сервером, апачем (для других веб серверов указаний нет);
3) Интеграция Mailman с почтовым сервером Sendmail
4) Конфигурирование Apache (странно - то же что второй пункт по моему мнению)

Рассмотрим каждый шаг поподробнее:
1) Прочитайте файлы "INSTALL" и "README" в той же директории, что и этот файл. Без комментариев. Читаем.
Там же есть другая документация, с которой неплохо бы ознакомиться:
# ls /usr/local/share/doc/mailman/
ACKNOWLEDGMENTS README UPGRADING
BUGS README-I18N.en mailman-admin.txt
FAQ README.CONTRIB mailman-install.txt
FreeBSD-post-install-notes README.NETSCAPE mailman-member.txt
INSTALL README.USERAGENT
NEWS TODO


2, 4)
Этот кусок из конфигурационного файла апача дает полное представление об изменениях, которые нам необходимо совершить:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin ya@my.email
DocumentRoot /usr/local/mailman
ServerName myhost.mydomain.ua
ErrorLog /var/log/apache2/rassylka-error.log
CustomLog /var/log/rassylka-access.log common
ScriptAlias /mailman "/usr/local/mailman/cgi-bin"
Alias /pipermail "/usr/local/mailman/archives/public"
<Directory "/usr/local/mailman">
Options FollowSymLinks ExecCGI
AllowOverride None
Order deny,allow
Deny from all
Allow from x.x.x.x #адреса, с которых разрешен доступ к нашей рассылке
</Directory>
</VirtualHost>


Если мы инсталлируем Mailman в нестандартное место, то надо соответственно изменить изменить "/usr/local/mailman".

3) С sendmail мы делаем следующее. Изменяем файлы virtusertable и aliases:
#cd /etc/mail
#vim virtusertable

mailman@mydomain.ua mailman
mailman-admin@mydomain.ua mailman-admin
mailman-bounces@mydomain.ua mailman-confirm
mailman-confirm@mydomain.ua mailman-confirm
mailman-join@mydomain.ua mailman-join
mailman-leave@mydomain.ua mailman-leave
mailman-owner@mydomain.ua mailman-owner
mailman-request@mydomain.ua mailman-request
mailman-subscribe@mydomain.ua mailman-subscribe
mailman-unsubscribe@mydomain.ua mailman-unsubscribe

trial@mydomain.ua trial
trial-admin@mydomain.ua trial-admin
trial-bounces@mydomain.ua trial-confirm
trial-confirm@mydomain.ua trial-confirm
trial-join@mydomain.ua trial-join
trial-leave@mydomain.ua trial-leave
trial-owner@mydomain.ua trial-owner
trial-request@mydomain.ua trial-request
trial-subscribe@mydomain.ua trial-subscribe
trial-unsubscribe@mydomain.ua trial-unsubscribe


# vim aliases
mailman: "|/usr/local/mailman/mail/mailman post mailman"
mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/local/mailman/mail/mailman join mailman"
mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman"
mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman"
mailman-request: "|/usr/local/mailman/mail/mailman request mailman"
mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe mailman"

trial: "|/usr/local/mailman/mail/mailman post trial"
trial-admin: "|/usr/local/mailman/mail/mailman admin trial"
trial-bounces: "|/usr/local/mailman/mail/mailman bounces trial"
trial-confirm: "|/usr/local/mailman/mail/mailman confirm trial"
trial-join: "|/usr/local/mailman/mail/mailman join trial"
trial-leave: "|/usr/local/mailman/mail/mailman leave trial"
trial-owner: "|/usr/local/mailman/mail/mailman owner trial"
trial-request: "|/usr/local/mailman/mail/mailman request trial"
trial-subscribe: "|/usr/local/mailman/mail/mailman subscribe trial"
trial-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe trial"

#make
#make stop && make start

Это мы почтовый сервер рестартанули. Теперь стартанем наш апач.
Добавляем в /etc/rc.conf такую строчку:
apache2_enable="YES"
Потом делаем такие действия:
#mkdir /var/log/apache2
#chown www:www /var/log/apache2
#/usr/local/etc/rc.d/apache2 start

Теперь займемся собственно mailman-ом.
#vim /usr/local/mailman/Mailman/mm_cfg.py
В качестве образца переменных в этом файле смотрим /usr/local/mailman/Mailman/Defaults.py
Нам важны следующие переменные:
DEFAULT_EMAIL_HOST = 'mydomain.ua'
DEFAULT_URL_HOST = 'mydomain.ua'
Вообще-то они устанавливаются автоматом.
Далее устанавливаем пароль администратора наших рассылок:
# /usr/local/mailman/bin/mmsitepass

Создаем листы рассылки - служебный mailman и наш лист(листы), которым(и) будем пользоваться. Делаем это так.
Открываем в браузере url http://mydomain.ua/mailman/admin
Name of list: имя листа - trial
Initial list owner address: тут соответствующий почтовый адрес
Initial list password: создаем пароль
Confirm initial password: подтверждаем
Initial list of supported languages. Выбираем язык интерфейса. Есть и украинский и русский
List creator's (authentication) password:(здесь вводим пароль созданный mmsitepass)

# vi /etc/rc.conf
Добавляем строку:
mailman_enable="YES"
# /usr/local/etc/rc.d/mailman start

Смотрим, что у нас появилось в процессах:
# ps ax|grep mailman
2480 ?? Is 0:00.02 /usr/local/bin/python2.6 /usr/local/mailman/bin/mailmanctl -s -q start
2481 ?? S 0:00.57 /usr/local/bin/python2.6 /usr/local/mailman/bin/qrunner --runner=ArchRunner:0:1 -s
2482 ?? S 0:00.57 /usr/local/bin/python2.6 /usr/local/mailman/bin/qrunner --runner=BounceRunner:0:1 -s
2483 ?? S 0:00.58 /usr/local/bin/python2.6 /usr/local/mailman/bin/qrunner --runner=CommandRunner:0:1 -s
2484 ?? D 0:00.59 /usr/local/bin/python2.6 /usr/local/mailman/bin/qrunner --runner=IncomingRunner:0:1 -s
2485 ?? S 0:00.59 /usr/local/bin/python2.6 /usr/local/mailman/bin/qrunner --runner=NewsRunner:0:1 -s
2486 ?? S 0:00.67 /usr/local/bin/python2.6 /usr/local/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s
2487 ?? S 0:00.65 /usr/local/bin/python2.6 /usr/local/mailman/bin/qrunner --runner=VirginRunner:0:1 -s
2488 ?? I 0:00.51 /usr/local/bin/python2.6 /usr/local/mailman/bin/qrunner --runner=RetryRunner:0:1 -s

Получаем на указанный адрес такие вот два письма:
Subject: Your new mailing list: trial
From: mailman-owner@myhost.mydomain.ua
Sender: trial-bounces@myhost.mydomain.ua
To: ya@mydomain.ua

The mailing list `trial' has just been created for you. The following
is some basic information about your mailing list.

Your mailing list password is:

mailmanbsdrarmaile

You need this password to configure your mailing list. You also need
it to handle administrative requests, such as approving mail if you
choose to run a moderated list.

You can configure your mailing list at the following web page:

http://myhost.mydomain.ua/mailman/admin/trial

The web page for users of your mailing list is:

http://myhost.mydomain.ua/mailman/listinfo/trial

You can even customize these web pages from the list configuration
page. However, you do need to know HTML to be able to do this.

There is also an email-based interface for users (not administrators)
of your list; you can get info about using it by sending a message
with just the word `help' as subject or in the body, to:

trial-request@myhost.mydomain.ua

To unsubscribe a user: from the mailing list 'listinfo' web page,
click on or enter the user's email address as if you were that user.
Where that user would put in their password to unsubscribe, put in
your admin password. You can also use your password to change
member's options, including digestification, delivery disabling, etc.

Please address all questions to mailman-owner@myhost.mydomain.ua

И второе письмо:
Subject: Mailing list creation request for list trial
From: mailman-owner@myhost.mydomain.ua
Sender: mailman-bounces@myhost.mydomain.ua
To: mailman-owner@myhost.mydomain.ua

The mailing list `trial' has been created via the through-the-web
interface. In order to complete the activation of this mailing list, the
proper /etc/aliases (or equivalent) file must be updated. The program
`newaliases' may also have to be run.

Here are the entries for the /etc/aliases file:

trial: "|/usr/local/mailman/mail/mailman post trial"
trial-admin: "|/usr/local/mailman/mail/mailman admin trial"
trial-bounces: "|/usr/local/mailman/mail/mailman bounces trial"
trial-confirm: "|/usr/local/mailman/mail/mailman confirm trial"
trial-join: "|/usr/local/mailman/mail/mailman join trial"
trial-leave: "|/usr/local/mailman/mail/mailman leave trial"
trial-owner: "|/usr/local/mailman/mail/mailman owner trial"
trial-request: "|/usr/local/mailman/mail/mailman request trial"
trial-subscribe: "|/usr/local/mailman/mail/mailman subscribe trial"
trial-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe trial"

Собственно говоря - все.
Список созданных рассылок можно увидеть на:
http://myhost.mydomain.ua/mailman/listinfo
Оригинал статьи можно посмотреть тут.