- PVSM.RU - https://www.pvsm.ru -
Для ленивых и не желающих возиться, сдувать пыль с бубна по настройке exim4/postfix/sendmail предлагается простейший сборщик почты написанный на Python[1] [1].
Его работа заключается в сборе всей почты, посылаемой этому фейковому smtp серверу и складывании её в указанную папку /tmp/mails в виде файлов писем nobody@mail.local.1 с порядковым номером.
В стандартных репах должен быть nullmailer. Если нет, то качаем [2], а есть то устанавливаем:
sudo apt-get install nullmailer
Идём в /etc/nullmailer и в файле remotes добавляем:
localhost smtp
Перезапускаем:
service nullmailer restart
В Debian-подобных линуксах очередь писем находится в /var/spool/nullmailer/queue/
Качаем скрипт fakemail [3], распаковываем. Если стандартно, то запускаем
python setup.py install
или копируем файл fakemail.py куда надо.
Теперь хотелось бы его сделать запускаемым как сервис, а не просто висящим в консоли.
Для этого создаём файл /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] [4]
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
ссылке [5], я лишь дописал сервис.
[2] можно и любую другую папку, но тогда надо внутри /etc/init.d/fakemail где DOPTIONS= изменить ваш путь --path=/path/to/folder
Автор: romy4
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/73909
Ссылки в тексте:
[1] [1]: #link1
[2] качаем: https://github.com/bruceg/nullmailer
[3] fakemail: http://sourceforge.net/projects/fakemail/
[4] [2]: http://link2
[5] ссылке: http://distinctplace.com/2013/06/20/nullmailer-and-fake-mail---two-little-tools-for-every-developer/
[6] Источник: http://habrahabr.ru/post/242647/
Нажмите здесь для печати.