Comments 21
Как-то надо было выловить кто в сети спамит, завернул весь исходящий трафик 25 порта на локальный, и вот этот скрипт запустил.
github.com/jevin/Dummy-SMTP
github.com/jevin/Dummy-SMTP
0
Пользуюсь mailtrap.io/
+1
Mailcatcher?
+1
UFO just landed and posted this here
А если нужно еще быстрее, то можно просто сделать в консоли:
или
и получить вывод почты в консоль (впрочем, с помощью `tee` можно ее и в файлы перенаправлять).
python -m smtpd -n -c DebuggingServer localhost:1025
или
sudo python -m smtpd -n -c DebuggingServer localhost:25
и получить вывод почты в консоль (впрочем, с помощью `tee` можно ее и в файлы перенаправлять).
+4
а вот с помощью netcat:
и сам сервер на основе nc
файл smtp.sh
#!/bin/bash
echo "10x.example.com ESMTP"
read helo
echo "250 10x.example.com"
read mail_from
echo "250 ok"
read rcpt_to
echo "250 ok"
read data
echo "354 go ahead"
read newline_dot_newline
echo "250 ok 1134335146 qp 3108"
read quit
echo "221 10x.example.com"
echo "$helo" > myfile
echo "$mail_from" >> myfile
echo "$rcpt_to" >> myfile
echo "$data" >> myfile
echo "$newline_dot_newline" >> myfile
echo "$quit" >> myfile
и сам сервер на основе nc
while true
do
nc -l -p 10101 -e smtp.sh
done
+2
Шагов для взвода этой халабуды требуется больше, чем для команды dpkg-reconfigure postfix
0
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
update-rc.d fakemail start 20 2 3 4 5. stop 80 0 1 6
+2
добавлю, что для более корректного добавления (не знаю кто как, но мне больше нравится работать через интерфейс того, что уже существует, нежели пилить свои грабли — я имею в виду ручную линковку файлов) в начало файла-демона следует добавить следующий код
и далее добавить инициализировать демон
взято отсюда
### BEGIN INIT INFO
# Provides: fakemail
# Required-Start: $remote_fs $syslog $nullmailler
# Required-Stop: $remote_fs $syslog $nullmailler
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
и далее добавить инициализировать демон
update-rc.d fakemail default
взято отсюда
+1
Всё уже украдено, до нас
nilhcem.github.io/FakeSMTP/
nilhcem.github.io/FakeSMTP/
0
преамбула: есть docker-контейнер для локальной разработки веб-приложения, которое в процессе работы использует smtp-сервер для отправки сообщений на почтовые ящики пользователей.
вопрос: можно ли использовать сию связку (если развернуть ее на хост-системе) для тестирования работы отправки писем этим веб-приложением?
действительно, не охота (да и не зачем оно на рабочей станции) поднимать все хозяйство для корректной работы smtp-сервера
вопрос: можно ли использовать сию связку (если развернуть ее на хост-системе) для тестирования работы отправки писем этим веб-приложением?
действительно, не охота (да и не зачем оно на рабочей станции) поднимать все хозяйство для корректной работы smtp-сервера
0
эта штука «висит» на конкретном порту конкретного хоста биндясь на конкретный айпишник. А так как оно использует только системные вещи, то должно заработать и в docker-контейнере без проблем.
0
мне нужно чтобы оно висело на 25-ом порту определенного интерфейса моей хост машины, а с контейнера я мог отправлять почту через этот порт хост-машины (с помощью того же Swiftmailer) и письма складировались в некой папке. это можно? для меня это было бы идеальным вариантом
0
в принципе, оно так и задумано. При запуске fakemail.py укажите --port=25 --host=192.168.0.55 --path=/path/to/mail/folder
0
спасибо за связку — все работает как мне и требовалось
<хотелка>вот было бы еще шикарно чтобы письма сохранялись не от рута</хотелка>
<хотелка>вот было бы еще шикарно чтобы письма сохранялись не от рута</хотелка>
0
Можно не от рута, если вы запустите его для порта выше 1000. например, 1025 и для smtp укажите этот порт. А так как nullmailer запускается при старте системы, то должно работать.
0
спасибо за подсказки
довел я до ума сей скрипт и его запуск под себя
1. для запуска от своего пользователя использую порд 25025 и подкорректировал запуск демона:
/etc/init.d/fakemail
2. для того, чтобы корректно просматривать сообщения советую добавить нужное расширение к сохраняемым файлам — eml, у меня установлен Thunderbird и он корректно открывает это сообщение — скорее всего нам же нужно не только знать отправилось ли сообщение, а еще и посмотреть как оно отрендерилось. потому добавляем следующее в файл fakemail.py — у меня он лежит тут /usr/local/bin/fakemail.py
находим строку
и изменяем на
теперь мы можем открывать письма для просмотра например с помощью Thunderbird
довел я до ума сей скрипт и его запуск под себя
1. для запуска от своего пользователя использую порд 25025 и подкорректировал запуск демона:
/etc/init.d/fakemail
start_fakemail()
{
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --chuid myusername --exec $DAEMON -- $DOPTIONS >/dev/null 2>&1 &
}
2. для того, чтобы корректно просматривать сообщения советую добавить нужное расширение к сохраняемым файлам — eml, у меня установлен Thunderbird и он корректно открывает это сообщение — скорее всего нам же нужно не только знать отправилось ли сообщение, а еще и посмотреть как оно отрендерилось. потому добавляем следующее в файл fakemail.py — у меня он лежит тут /usr/local/bin/fakemail.py
находим строку
filename = os.path.join(self.path, "%s.%s" % (recipient, count))
и изменяем на
filename = os.path.join(self.path, "%s.%s.eml" % (recipient, count))
теперь мы можем открывать письма для просмотра например с помощью Thunderbird
0
Sign up to leave a comment.
Простейший SMTP сервер для разработок