#!/usr/bin/perl -l BEGIN { $| = 1; require MIME::Base64; require Authen::SASL; } use strict; use autodie; use warnings; use Net::SMTP; my $host = 'mailhost'; my $user = 'user'; my $pass = 'pass'; my $smtp = Net::SMTP->new( Host => $host, Hello => 'your.mail.domain', Time => 30, Debug => 1, ); my $sasl; my $mechanisms = ['AUTH', 500]; die "Couldn't login: $!" unless \&auth; sub auth { my $sasl = Authen::SASL->new( mechanism => $mechanisms, debug => 1, callback => { user => $user, pass => $pass, authname => $user, } ); }