Christopher Juckins

SysAdmin Tips, Tricks and other Software Tools

User Tools

Site Tools


perl_sending_email

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
perl_sending_email [2025/03/20 19:33] – removed - external edit (Unknown date) 127.0.0.1perl_sending_email [2025/03/20 19:33] (current) – ↷ Page name changed from sending_email to perl_sending_email juckins
Line 1: Line 1:
 +==== Sending email with Perl ====
  
 +<code>
 +#!/usr/bin/perl -w
 +
 +$sysadmin = "user\@domain.com";
 +$script_name = "test";
 +$archive_data_dir = "/a/b/c"; 
 +$latest_file_download = `ls -1 $archive_data_dir| tail -n 1`;
 +
 +now();
 +`echo '$now\n\nLast saved file: $latest_file_download' | mailx -s '$script_name.pl reports stale source files' $sysadmin`;
 +
 +sub now {
 +  $now = `date`;
 +  chomp($now);
 +}
 +</code>
 +
 +<code>
 +my $email_message_file = "email.txt";
 +my $now = &now();
 +open (EMAIL, ">$email_message_file") or die "Cannot open file for writing: $!";
 +print EMAIL "$now\n\n";
 +print EMAIL "$this_filename.pl reported an error.  Please investigate.\n";
 +close (EMAIL);
 +send_reminder("user\@domain.com", "$this_filename.pl reported an error", "$email_message_file");
 +
 +#---
 +# send reminder if error encountered
 +# email recipient, email subject, and filename for email body will be passed in
 +#---
 +sub send_reminder {
 +  my ($recipient, $subject, $body) = @_;
 +  print LOG "  $PID sending email to: $recipient about: $subject\n";
 +  my $reminder_results = "";
 +  $reminder_results = system("send_reminder.csh \"$recipient\" \"$body\" \"$subject\"");
 +  print LOG "  $PID reminder_results:\n$reminder_results\n";
 +}
 +</code>