Super simple mailsink with Python

If your script or app sends  mail and you’ve got no time or don’t feel like configuring a real SMTP server, use a mailsink. A debugging method that in it’s simplest form just displays the result of the SMTP conversation, namely the message.

Fire up a terminal an run this code:

python -m smtpd -n -c DebuggingServer localhost:3000

This listens on port 3000 on your localhost ( If you need port 25 (the SMTP default port), just run the line with sudo and enter your password:

sudo python -m smtpd -n -c DebuggingServer localhost:25

That’s it. Enjoy.

Booting Linux on a server when filesystem is readonly

If your root server hoster loves to integrate 10 year old harddisks with a history of 89 previous customers you’ll have to cope many times with disk failures. If you launch a shutdown -r now or reboot you’ll likely see Input/output error messages and nothing more.

How to boot? You might use your IPMI interface or some kind of hosters panel. If this is not available for any reason here’s how you might be able to force booting immediately:

# echo 1 > /proc/sys/kernel/sysrq
# echo b > /proc/sysrq-trigger

This works (as root) because you can trigger the Magic_SysRq_key concept also via the proc filesystem.