Для ленивых и не желающих возиться, сдувать пыль с бубна по настройке exim4/postfix/sendmail предлагается простейший сборщик почты написанный на Python[1].
Его работа заключается в сборе всей почты, посылаемой этому фейковому smtp серверу и складывании её в указанную папку /tmp/mails в виде файлов писем nobody@mail.local.1 с порядковым номером.
В стандартных репах должен быть nullmailer. Если нет, то качаем, а есть то устанавливаем:
Идём в /etc/nullmailer и в файле remotes добавляем:
Перезапускаем:
В Debian-подобных линуксах очередь писем находится в /var/spool/nullmailer/queue/
Качаем скрипт fakemail, распаковываем. Если стандартно, то запускаем
Теперь хотелось бы его сделать запускаемым как сервис, а не просто висящим в консоли.
Для этого создаём файл /etc/init.d/fakemail и вставляем в него следующий код:
Если вы копировали руками файл, то, возможно, стоит отредактировать файл и в 6 строке, где DAEMON, заменить путь к нашему питоновскому файлу.
Делаем запускаемым:
Теперь надо создать (под рутом) папку mails в /tmp[2]
И добавить ссылкы на сервис во время завершения работы системы:
Если вам нужно, чтобы он так же автоматически стартовал, то добавьте следующее:
Запускаем сервис:
[1] основной материал был найден по ссылке, я лишь дописал сервис.
[2] можно и любую другую папку, но тогда надо внутри /etc/init.d/fakemail где DOPTIONS= изменить ваш путь --path=/path/to/folder
Его работа заключается в сборе всей почты, посылаемой этому фейковому smtp серверу и складывании её в указанную папку /tmp/mails в виде файлов писем nobody@mail.local.1 с порядковым номером.
Шаг №1: установка nullmailer
В стандартных репах должен быть nullmailer. Если нет, то качаем, а есть то устанавливаем:
sudo apt-get install nullmailer
Идём в /etc/nullmailer и в файле remotes добавляем:
localhost smtp
Перезапускаем:
service nullmailer restart
В Debian-подобных линуксах очередь писем находится в /var/spool/nullmailer/queue/
Шаг №2: установка fakemail
Качаем скрипт fakemail, распаковываем. Если стандартно, то запускаем
или копируем файл fakemail.py куда надо.python setup.py install
Теперь хотелось бы его сделать запускаемым как сервис, а не просто висящим в консоли.
Для этого создаём файл /etc/init.d/fakemail и вставляем в него следующий код:
Скрытый текст
#!/bin/sh set -e NAME=fakemail DAEMON=/usr/local/bin/$NAME.py DOPTIONS="--path=/tmp/mails" test -x "$DAEMON" || exit 0 PIDDIR=/var/run PIDFILE=$PIDDIR/$NAME.pid LANG=C export LANG . /lib/lsb/init-functions start_fakemail() { start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --exec $DAEMON -- $DOPTIONS >/dev/null 2>&1 & } stop_fakemail() { if [ -f "$PIDFILE" ]; then PID=`cat $PIDFILE` kill -2 $PID rm -f "$PIDFILE" fi } case "$1" in start) log_daemon_msg "Starting MTA" start_fakemail ;; stop) log_daemon_msg "Stopping MTA" stop_fakemail ;; restart) stop_fakemail start_fakemail ;; esac exit 0
Если вы копировали руками файл, то, возможно, стоит отредактировать файл и в 6 строке, где DAEMON, заменить путь к нашему питоновскому файлу.
Делаем запускаемым:
sudo chmod +x /etc/init.d/fakemail
Теперь надо создать (под рутом) папку mails в /tmp[2]
sudo mkdir /tmp/mails
И добавить ссылкы на сервис во время завершения работы системы:
sudo ln -s /etc/init.d/fakemail /etc/rc0.d/K20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc1.d/K20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc6.d/K20fakemail
Если вам нужно, чтобы он так же автоматически стартовал, то добавьте следующее:
код для добавления в автозапуск
sudo ln -s /etc/init.d/fakemail /etc/rc2.d/S20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc3.d/S20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc4.d/S20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc5.d/S20fakemail
Запускаем сервис:
service fakemail start
[1] основной материал был найден по ссылке, я лишь дописал сервис.
[2] можно и любую другую папку, но тогда надо внутри /etc/init.d/fakemail где DOPTIONS= изменить ваш путь --path=/path/to/folder
