Exim: autenticazione SMTP basata su server IMAP
Creiamo subito il file /etc/exim/exim_perl.pl:
#!/usr/bin/perl
use Net::IMAP::Simple;
sub imapLogin
{
my $host = shift;
my $account = shift;
my $password = shift;
# open a connection to the imap server
if (! ($server = new Net::IMAP::Simple($host)))
{
return 0;
}
# login, if success return 1 (true) else 0 (false)
if ($server->login( $account, $password ))
{
return 1;
}
else
{
return 0;
}
server->close();
}
E all’inizio della configurazione di exim inseriamo:
perl_startup = do '/etc/exim/exim_perl.pl'
perl_at_start
Mentre nella parte relativa all’autenticazione smtp inseriamo
begin authenticators
plain:
driver = plaintext
public_name = PLAIN
server_condition = ${perl{imapLogin}{localhost}{$2}{$3}}
server_set_id = $2
login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${perl{imapLogin}{localhost}{$1}{$2}}
server_set_id = $1