So. Email::Send has a really nice interface. It flows really well. But it doesn't work very well. Perl has this handy send() function, a built-in function, and sometimes it conflicts with Email::Send.
I used to subscribe to the philosophy that actions should be functions. It seems like that may be the wrong approach. No matter how hard you try, you're always trying harder to get reusable code out of function interfaces.
It's time to rework Email::Send.
Here are some thoughts.
my $sender = Email::Send->new(SMTP => 'localhost');
Or perhaps just this.
Email::Send->send(SMTP => $message, 'localhost');
Any other ideas welcome.