Blame | Last modification | View Log | RSS feed
package PEEPSMailer;use strict;use Exporter 'import';use Net::SMTPS;use Email::Simple;#use Email::MessageID;our @EXPORT = qw( EmailUser );my $server = "smtp.gmail.com";my $port = 587;my $user = 'peeps@wftda.com';my $password = 'pmrpegrigryhavpe';#warn "loaded PEEPSMailer...";sub EmailUser {my $email = shift;my $subject = shift;my $body = shift;my $dev = $ENV{SERVER_NAME} eq "peeps.wftda.com" ? "" : '[DEV] ';if ($body !~ /^<p>/i) {use HTML::Tiny;my $h = HTML::Tiny->new( mode => 'html' );$body = $h->p (split "\n", $body);}#warn "DEBUG: Emailing $email...";## the rollercon mail server's cert doesn't match it's name. (the first block ignores any mismatching name)# IO::Socket::SSL::set_defaults (# SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,# );# IO::Socket::SSL::set_client_defaults(# SSL_verifycn_name => 'p3plmcpnl496538.prod.phx3.secureserver.net',# );IO::Socket::SSL::set_client_defaults(SSL_verifycn_name => 'smtp.gmail.com',);my $smtp = Net::SMTPS->new($server,Hello => 'gmail.com',Port => $port,doSSL => 'starttls',Timeout => 15,Debug => 0);die "Could not connect to SMTP server!" unless $smtp;my $msg = Email::Simple->create(header => [To => $email,# Bcc => $user,From => $user,Subject => $dev.$subject,# 'Message-Id' => Email::MessageID->new->in_brackets,'Content-type' => 'text/html',],body => $body,);$smtp->auth ($user, $password);$smtp->mail ($user);$smtp->to ($email);# $smtp->bcc ($user);$smtp->data ();$smtp->datasend ($msg->as_string);$smtp->quit;}1;