Tag Archives: smtp

Dummy SMTP server

Решение автора JOTN, отсюда:

#!/usr/bin/perl -w
use Net::SMTP::Server;
use Net::SMTP::Server::Client;
 
$server = new Net::SMTP::Server('localhost', 25) || die("$!\n");
 
while($conn = $server->accept()) {
	my $client = new Net::SMTP::Server::Client($conn) ||
	die("Unable to handle client connection: $!\n");
	$client->process || next;
 
	# Here's where you can write it out or just dump it. Set $filename to
	# where you want to write it
	$filename = './collected_mail.txt';
	open(MAIL,">> $filename") || die "$filename: $1";
	print(MAIL "$client->{MSG}\n");
	close(MAIL);
}

/etc/ssmtp/ssmtp.conf:

root=postmaster
mailhub=localhost
#rewriteDomain=
hostname=localhost
FromLineOverride=YES

Под Ubuntu необходимые пакеты называются libnet-smtp-server-perl и ssmtp.

Верификация e-mail: сложный путь. Brain dump

Иногда приспичивает сделать что-то сложно и мучительно, just for fun, так вот один из тех случаев.

Скачать SMTP honeypot: smtphoneypot.zip

Скрипт ковырялся давно, подробностей не помню, так что коротко. Ситуация примерно следующая: имеется некий хост, на котором поднят веб-сервер. Провайдер предоставляет динамический IP-адрес и категорически запрещает трафик на порты 80, 25, 22 и некоторые другие. Также пользуемся услугами DynDNS чтобы попадать на этот хост по адресу, например, что-то.gotdns.org и центром CAcert для подписи наших сертификатов, при этом очень хочется генерить и подписывать сертификаты на имя что-то.gotdns.org, а злобному касерту подавай проверку с помощью электронной почты, что данный домен принадлежит нам.

Continue reading