use strict; use Net::SMTP; use Date::Format; use Date::Calc qw(Delta_Days Add_Delta_Days); my $smtp=Net::SMTP->new('mail.sample.com'); $smtp->mail('zeno@sample.com'); $smtp->recipient('zeno@sample.com'); my $msg = ""; $msg .= << 'HEADER'; Priority: Non-Urgent Importance: low sensitivity: Personal From: "Election Day" To: HEADER # Set Expiry Date 1 day in the future my $expiry_date = time2str("%a, %d %b %T %Y %z", time+86400); $msg .= "Expiry-Date: " . $expiry_date ."\n"; my ($now_yr, $now_mon, $now_day) = (localtime)[5, 4, 3]; $now_mon += 1; $now_yr += 1900; my $days_until = Delta_Days($now_yr, $now_mon, $now_day, 2008, 11, 04); $msg .= "subject: " . $days_until . " days til election\n\n"; $msg .= $days_until . " days til election\n\n"; $smtp->data($msg); $smtp->quit;