in reply to Sending Mail on a Windows Machine

I send email from Windows boxes all the time ... but using a unix box somewhere ;-)

Specifically, the Net::SMTP protocol is not very difficult, IMO, if you can figure out the SMTP server to use. My guess, which you may need to ask NetworkSolutions to confirm, is to use mail.networksolutions.com:

$ dig networksolutions.com mx ; <<>> DiG 9.2.4 <<>> networksolutions.com mx ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15900 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 4 ;; QUESTION SECTION: ;networksolutions.com. IN MX ;; ANSWER SECTION: networksolutions.com. 10800 IN MX 10 mail.networksolutio +ns.com. [snip]
I know that's not definitive, but it's really darned likely. Again, confirm with the service provider, but it likely works.

Something like...

use Net::SMTP; my $smtp = Net::SMTP->new(q('mail.networksolutions.com')) or die "Can't connect to SMTP server"; my $ownuser = 'me@myisp.com'; $smtp->mail($ownuser); $smtp->to('joe@somewhereelse.net'); $smtp->data(); $smtp->datasend('Subject: Email from the server.',"\n"); $smtp->datasend('Date: ', scalar(time), "\n"); $smtp->datasend('To: ', join(', ', @emailaddrs), "\n"); $smtp->datasend('From: Packaging ' . $plat->platformID() . "<$ownaddr> +\n"); $smtp->datasend('X-Mailer: Perl Net::SMTP', "\n"); $smtp->datasend("\n"); $smtp->datasend(@message_text); $smtp->dataend(); $smtp->quit();
Of course, there's some extra error-handling involved here, and you can add the error handling that is appropriate to your scenario (e.g., put up the right error page, or something).

Note that instead of connecting to a single server, I actually do something more like:

sub smtp_connect { for my $s (@server_list) { my $smtp = Net::SMTP->new($s); return $smtp if $smtp; } undef; }
This allows me to pick a set of servers to try, and I can try them (in order). Some of my work SMTP servers are more stable than others... and the stable ones are the ones I'm not supposed to use (but I'll be darned if that gets in the way of getting my job done ;->).