<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Frisbee23</id>
	<title>Request Tracker Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Frisbee23"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/wiki/Special:Contributions/Frisbee23"/>
	<updated>2026-08-22T20:03:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=DueDateRemindersByEmail&amp;diff=26277</id>
		<title>DueDateRemindersByEmail</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=DueDateRemindersByEmail&amp;diff=26277"/>
		<updated>2016-07-14T10:21:28Z</updated>

		<summary type="html">&lt;p&gt;Frisbee23: /* New version ( 3.1 ) by Vaclav Vobornik added at 4.7.2008 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following script will send email notifications on Tickets that are over due.&lt;br /&gt;
&lt;br /&gt;
== New version ( 3.1 ) ==&lt;br /&gt;
&lt;br /&gt;
====== New version ( 3.1 ) by Vaclav Vobornik added at 4.7.2008 ======&lt;br /&gt;
&lt;br /&gt;
i made a cleaned version be subsituting &amp;amp;lt; and &amp;amp;gt; to &amp;lt; and &amp;gt;. this apperently got lost while moving from wikia to here.&lt;br /&gt;
&lt;br /&gt;
also the preformatted text block syntax nowiki used below does not work here yet :(&lt;br /&gt;
&lt;br /&gt;
find it here: http://pastebin.com/gj5R7wm2&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; #!/usr/bin/perl&lt;br /&gt;
 ####################### RT Email Notification Script ####################&lt;br /&gt;
 ####&lt;br /&gt;
 #### Author: Daniely Yoav / Qball Technologies Ltd.&lt;br /&gt;
 #### Email: yoavd@qballtech.net&lt;br /&gt;
 #### Date: 05/06/05&lt;br /&gt;
 ####&lt;br /&gt;
 #### Modified by: Tomas Borland Valenta&lt;br /&gt;
 #### Email: tomas at trustica dot cz&lt;br /&gt;
 #### Date: 2007/03/12&lt;br /&gt;
 ####&lt;br /&gt;
 #### Modified by: Tim Schaller&lt;br /&gt;
 #### Email: tim-rt@torzo.com&lt;br /&gt;
 #### Date: 2008/06/17&lt;br /&gt;
 ####&lt;br /&gt;
 #### Modified by: Vaclav Vobornik&lt;br /&gt;
 #### Email: vaclav dot vobornik at commerzbank dot com&lt;br /&gt;
 #### Date: 2008/07/04&lt;br /&gt;
 ####&lt;br /&gt;
 #### Purpose: Send Email Notification on all open/new tickets in RT that have their due date expired&lt;br /&gt;
 ####&lt;br /&gt;
 #### Version: 3.1&lt;br /&gt;
 ####&lt;br /&gt;
 #### Changes from 3 ( Vaclav Vobornik )&lt;br /&gt;
 #### - Added Cc and Bcc possibilities.&lt;br /&gt;
 ####&lt;br /&gt;
 #### Changes from 2 ( Tim Schaller )&lt;br /&gt;
 #### - Added multiple command line options.&lt;br /&gt;
 #### - Adaptive subject line.&lt;br /&gt;
 #### - Sending Admin CC emails optional.&lt;br /&gt;
 ####&lt;br /&gt;
 #### Changes from 1.2 ( Tomas Borland Valenta )&lt;br /&gt;
 #### - rewriten mail subsystem&lt;br /&gt;
 #### - code cleanup&lt;br /&gt;
 #### - adopted for RT 3.6.x&lt;br /&gt;
 #### - used some global RT config variables&lt;br /&gt;
 ####&lt;br /&gt;
 #### ======================================================================&lt;br /&gt;
 ####&lt;br /&gt;
 #### Command line options&lt;br /&gt;
 ####          -d          : turns dubugging on&lt;br /&gt;
 ####          -A          : Send to AdminCC ( made default not to )&lt;br /&gt;
 ####          -a &amp;amp;lt;n&amp;amp;gt;      : Send reminders to tickets due in &amp;amp;lt;n&amp;amp;gt; or less days.&lt;br /&gt;
 ####                      : Includes overdue tickets.&lt;br /&gt;
 ####          -q &amp;amp;lt;queue&amp;amp;gt;  : Only send reminder for tickets in &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 ####          -o &amp;amp;lt;owner&amp;amp;gt;  : Only send reminders for tickets owned by &amp;amp;lt;owner&amp;amp;gt;&lt;br /&gt;
 ####          -c &amp;amp;lt;email&amp;amp;gt;  : Email in Cc&lt;br /&gt;
 ####          -b &amp;amp;lt;email&amp;amp;gt;  : Email in Bcc&lt;br /&gt;
 ####&lt;br /&gt;
 #### ======================================================================&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl -A&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####       : and send notices to everyone in the SysAdmin Queue&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl -q SysAdmin&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####       : and send notices to everyone in the SysAdmin Queue&lt;br /&gt;
 ####       : Remind them about tickets due in less then 5 days.&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl -a 5 -q SysAdmin&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####       : and send notices to everyone in the SysAdmin Queue.&lt;br /&gt;
 ####       : Send copies to all AdminCC on the tickest.&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl -A -q SysAdmin&lt;br /&gt;
 &lt;br /&gt;
 ### External libraries ###&lt;br /&gt;
 use strict;&lt;br /&gt;
 use Getopt::Std;&lt;br /&gt;
 &lt;br /&gt;
 use lib (&amp;quot;/opt/rt3/lib&amp;quot;);  # Change this to your RT lib path!&lt;br /&gt;
 package RT;&lt;br /&gt;
 use RT::Interface::CLI qw(CleanEnv GetCurrentUser GetMessageContent loc);&lt;br /&gt;
 use RT::Date;&lt;br /&gt;
 use RT::Queue;&lt;br /&gt;
 use RT::Queues;&lt;br /&gt;
 use RT::Tickets;&lt;br /&gt;
 &lt;br /&gt;
 ################## Init ##################&lt;br /&gt;
 # Clean our environment&lt;br /&gt;
 CleanEnv();&lt;br /&gt;
 # Load the RT configuration&lt;br /&gt;
 RT::LoadConfig();&lt;br /&gt;
 RT::Init();&lt;br /&gt;
 # Set config variables&lt;br /&gt;
 my $debug=0;&lt;br /&gt;
 my $from_address = $RT::CorrespondAddress; #From: address used in reports&lt;br /&gt;
 my $rt_url = $RT::WebURL;&lt;br /&gt;
 my $sendmail = &amp;quot;$RT::SendmailPath $RT::SendmailArguments&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 ################## Args ##################&lt;br /&gt;
 my $queue         = &#039;&#039;;&lt;br /&gt;
 my $owner         = &#039;&#039;;&lt;br /&gt;
 my $advDate       = 0;&lt;br /&gt;
 my $secInDay      = 60*60*24;&lt;br /&gt;
 my $sendToAdminCC = 0;&lt;br /&gt;
 my $cc            = &#039;&#039;;&lt;br /&gt;
 my $bcc           = &#039;&#039;;&lt;br /&gt;
 &lt;br /&gt;
 my %options=();&lt;br /&gt;
 Getopt::Std::getopts(&amp;quot;Ada:q:o:c:b:&amp;quot;,\%options);&lt;br /&gt;
 &lt;br /&gt;
 $queue         = $options{q} if defined $options{q};&lt;br /&gt;
 $owner         = $options{o} if defined $options{o};&lt;br /&gt;
 $advDate       = ( $options{a} * $secInDay ) if defined $options{a};&lt;br /&gt;
 $debug         = $options{d} if defined $options{d};&lt;br /&gt;
 $sendToAdminCC =  $options{A} if defined $options{A};&lt;br /&gt;
 $cc            = $options{c} if defined $options{c};&lt;br /&gt;
 $bcc           = $options{b} if defined $options{b};&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ################## Variables Init ##################&lt;br /&gt;
 my $User = new RT::User($RT::SystemUser); # Define an RT User variable&lt;br /&gt;
 my $date = new RT::Date($RT::SystemUser); # Define a date variable (used for comparisions)&lt;br /&gt;
 my $tickets = new RT::Tickets($RT::SystemUser); # Used to store Ticket search results&lt;br /&gt;
 my $now = new RT::Date($RT::SystemUser); # get current time&lt;br /&gt;
 $now-&amp;amp;gt;SetToNow();&lt;br /&gt;
 my $report; # Used for output&lt;br /&gt;
 my $subject; # Used as subject line&lt;br /&gt;
 &lt;br /&gt;
 ################## Main Program ##################&lt;br /&gt;
 # Limit the ticket search to new and open only.&lt;br /&gt;
 $tickets-&amp;amp;gt;LimitStatus(VALUE =&amp;amp;gt; &#039;new&#039;);&lt;br /&gt;
 $tickets-&amp;amp;gt;LimitStatus(VALUE =&amp;amp;gt; &#039;open&#039;);&lt;br /&gt;
 &lt;br /&gt;
 # Loop through new/open tickets&lt;br /&gt;
 while (my $Ticket = $tickets-&amp;amp;gt;Next) {&lt;br /&gt;
     # Construct POP-Up Message&lt;br /&gt;
     $User-&amp;amp;gt;Load($Ticket-&amp;amp;gt;Owner);&lt;br /&gt;
 &lt;br /&gt;
     # Compare Dates to check whether the ticket&#039;s due date is in the past + Due date exists&lt;br /&gt;
     $date-&amp;amp;gt;Set(Format =&amp;amp;gt; &amp;quot;ISO&amp;quot;,Value =&amp;amp;gt; $Ticket-&amp;amp;gt;Due);&lt;br /&gt;
     if ($now-&amp;amp;gt;Unix - $date-&amp;amp;gt;Unix &amp;amp;lt; (1 - $advDate ) or $date-&amp;amp;gt;Unix == -1 or $date-&amp;amp;gt;Unix == 0) { next; }&lt;br /&gt;
 &lt;br /&gt;
     # Compare owner and queue if given. Skip current ticket if invalid.&lt;br /&gt;
     if ($owner) { if ( lc($User-&amp;amp;gt;Name) ne lc($owner) ) { next; } }&lt;br /&gt;
     if ($queue) { if ( lc($Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;Name) ne lc($queue) ) { next; } }&lt;br /&gt;
 &lt;br /&gt;
     # Generate a report&lt;br /&gt;
     $report = &amp;quot;&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Ticket #: &amp;quot; . $Ticket-&amp;amp;gt;id . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Subject:  &amp;quot; . $Ticket-&amp;amp;gt;Subject . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Queue:    &amp;quot; . $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;Name . &amp;quot; (&amp;quot;. $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;AdminCcAddresses .&amp;quot;) \n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Owner:    &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot;\n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Due date: &amp;quot; . $date-&amp;amp;gt;ISO . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;URL:      &amp;quot; . $rt_url . &amp;quot;Ticket/Display.html?id=&amp;quot; . $Ticket-&amp;amp;gt;id . &amp;quot;\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
     # Set the subject based on the due date.&lt;br /&gt;
     if( ($now-&amp;amp;gt;Unix - $date-&amp;amp;gt;Unix &amp;amp;lt; 0  ) or $date-&amp;amp;gt;Unix == -1 ) {&lt;br /&gt;
         $subject =  &amp;quot;Ticket #&amp;quot;. $Ticket-&amp;amp;gt;id . &amp;quot; with owner &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot; is due on &amp;quot; . $date-&amp;amp;gt;ISO;&lt;br /&gt;
     } else {&lt;br /&gt;
         $subject =  &amp;quot;Ticket #&amp;quot;. $Ticket-&amp;amp;gt;id . &amp;quot; with owner &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot; is overdue&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     # Get Queue Admin CC&lt;br /&gt;
     # Do we send to Admin CC as well as to owner?&lt;br /&gt;
     my @emails = ();&lt;br /&gt;
     if ( $sendToAdminCC ) {&lt;br /&gt;
         @emails = ($User-&amp;amp;gt;EmailAddress, split(/,/, $Ticket-&amp;amp;gt;AdminCcAddresses), split(/,/ , $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;AdminCcAddresses));&lt;br /&gt;
     } else {&lt;br /&gt;
         @emails = ($User-&amp;amp;gt;EmailAddress);&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     # remove duplicates&lt;br /&gt;
     my %temp = (); @emails = grep ++$temp{$_} &amp;amp;lt; 2, @emails;&lt;br /&gt;
     send_report(@emails);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Close RT Handle&lt;br /&gt;
 $RT::Handle-&amp;amp;gt;Disconnect();&lt;br /&gt;
 exit 0;&lt;br /&gt;
 &lt;br /&gt;
 # This procedure will send a report by mail to the owner&lt;br /&gt;
 #  parameter 1 - email addresses to send to&lt;br /&gt;
 # Global variables refered to:&lt;br /&gt;
 #  $subject - Subject line&lt;br /&gt;
 #  @report - Message content&lt;br /&gt;
 #  $from_address - address to send from&lt;br /&gt;
 #  $cc - CarbonCoby email address&lt;br /&gt;
 #  $bcc - BlindCarbonCopy email address&lt;br /&gt;
 sub send_report {&lt;br /&gt;
     my @tos = @_;&lt;br /&gt;
     my $addr;&lt;br /&gt;
 &lt;br /&gt;
     foreach $addr (@tos) {&lt;br /&gt;
         next if (length($addr) == 0);&lt;br /&gt;
         my $msg = &amp;quot;&amp;quot;;&lt;br /&gt;
         $msg .= &amp;quot;From: $from_address\n&amp;quot;;&lt;br /&gt;
         $msg .= &amp;quot;To: $addr\n&amp;quot;;&lt;br /&gt;
         $msg .= &amp;quot;Cc: $cc\n&amp;quot; if $cc;&lt;br /&gt;
         $msg .= &amp;quot;Bcc: $bcc\n&amp;quot; if $bcc;&lt;br /&gt;
         $msg .= &amp;quot;Subject: $subject\n&amp;quot;;&lt;br /&gt;
         $msg .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
         $msg .= $report;&lt;br /&gt;
 &lt;br /&gt;
         if ($debug) {&lt;br /&gt;
             print &amp;quot;====== Would call &#039;$sendmail&#039; with this input:\n&amp;quot;;&lt;br /&gt;
             print &amp;quot;$msg\n\n&amp;quot;;&lt;br /&gt;
         } else {&lt;br /&gt;
             open(SENDMAIL, &amp;quot;|$sendmail&amp;quot;) || die &amp;quot;Error sending mail: $!&amp;quot;;&lt;br /&gt;
             print SENDMAIL $msg;&lt;br /&gt;
             close(SENDMAIL);&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Old version ( 3.0 ) ==&lt;br /&gt;
&lt;br /&gt;
====== Version ( 3.0 ) by Tim Schaller added at 17.6.2008 ======&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/usr/bin/perl&lt;br /&gt;
 ####################### RT Email Notification Script ####################&lt;br /&gt;
 ####&lt;br /&gt;
 #### Author: Daniely Yoav / Qball Technologies Ltd.&lt;br /&gt;
 #### Email: yoavd@qballtech.net&lt;br /&gt;
 #### Date: 05/06/05&lt;br /&gt;
 ####&lt;br /&gt;
 #### Modified by: Tomas Borland Valenta&lt;br /&gt;
 #### Email: tomas at trustica dot cz&lt;br /&gt;
 #### Date: 2007/03/12&lt;br /&gt;
 ####&lt;br /&gt;
 #### Modified by: Tim Schaller&lt;br /&gt;
 #### Email: tim-rt@torzo.com&lt;br /&gt;
 #### Date: 2008/06/17&lt;br /&gt;
 ####&lt;br /&gt;
 #### Purpose: Send Email Notification on all open/new tickets in RT that have their due date expired&lt;br /&gt;
 ####&lt;br /&gt;
 #### Version: 3&lt;br /&gt;
 ####&lt;br /&gt;
 #### Changes from 2 ( Tim Schaller )&lt;br /&gt;
 #### - Added multiple command line options.&lt;br /&gt;
 #### - Adaptive subject line.&lt;br /&gt;
 #### - Sending Admin CC emails optional.&lt;br /&gt;
 ####&lt;br /&gt;
 #### Changes from 1.2 ( Tomas Borland Valenta )&lt;br /&gt;
 #### - rewriten mail subsystem&lt;br /&gt;
 #### - code cleanup&lt;br /&gt;
 #### - adopted for RT 3.6.x&lt;br /&gt;
 #### - used some global RT config variables&lt;br /&gt;
 ####&lt;br /&gt;
 #### ======================================================================&lt;br /&gt;
 ####&lt;br /&gt;
 #### Command line options&lt;br /&gt;
 ####          -d          : turns dubugging on&lt;br /&gt;
 ####          -A          : Send to AdminCC ( made default not to )&lt;br /&gt;
 ####          -a &amp;amp;lt;n&amp;amp;gt;      : Send reminders to tickets due in &amp;amp;lt;n&amp;amp;gt; or less days.&lt;br /&gt;
 ####                      : Includes overdue tickets.&lt;br /&gt;
 ####          -q &amp;amp;lt;queue&amp;amp;gt;  : Only send reminder for tickets in &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 ####          -o &amp;amp;lt;owner&amp;amp;gt;  : Only send reminders for tickets owned by &amp;amp;lt;owner&amp;amp;gt;&lt;br /&gt;
 ####&lt;br /&gt;
 #### ======================================================================&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl -A&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####       : and send notices to everyone in the SysAdmin Queue&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl -q SysAdmin&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####       : and send notices to everyone in the SysAdmin Queue&lt;br /&gt;
 ####       : Remind them about tickets due in less then 5 days.&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl -a 5 -q SysAdmin&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####       : and send notices to everyone in the SysAdmin Queue.&lt;br /&gt;
 ####       : Send copies to all AdminCC on the tickest.&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl -A -q SysAdmin&lt;br /&gt;
 &lt;br /&gt;
 ### External libraries ###&lt;br /&gt;
 use strict;&lt;br /&gt;
 use Getopt::Std;&lt;br /&gt;
 &lt;br /&gt;
 use lib (&amp;quot;/usr/local/rt/lib&amp;quot;);  # Change this to your RT lib path!&lt;br /&gt;
 package RT;&lt;br /&gt;
 use RT::Interface::CLI qw(CleanEnv GetCurrentUser GetMessageContent loc);&lt;br /&gt;
 use RT::Date;&lt;br /&gt;
 use RT::Queue;&lt;br /&gt;
 use RT::Queues;&lt;br /&gt;
 use RT::Tickets;&lt;br /&gt;
 &lt;br /&gt;
 ################## Init ##################&lt;br /&gt;
 # Clean our environment&lt;br /&gt;
 CleanEnv();&lt;br /&gt;
 # Load the RT configuration&lt;br /&gt;
 RT::LoadConfig();&lt;br /&gt;
 RT::Init();&lt;br /&gt;
 # Set config variables&lt;br /&gt;
 my $debug=0;&lt;br /&gt;
 my $from_address = $RT::CorrespondAddress; #From: address used in reports&lt;br /&gt;
 my $rt_url = $RT::WebURL;&lt;br /&gt;
 my $sendmail = &amp;quot;$RT::SendmailPath $RT::SendmailArguments&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 ################## Args ##################&lt;br /&gt;
 my $queue         = &#039;&#039;;&lt;br /&gt;
 my $owner         = &#039;&#039;;&lt;br /&gt;
 my $advDate       = 0;&lt;br /&gt;
 my $secInDay      = 60*60*24;&lt;br /&gt;
 my $sendToAdminCC = 0;&lt;br /&gt;
 &lt;br /&gt;
 my %options=();&lt;br /&gt;
 Getopt::Std::getopts(&amp;quot;Ada:q:o:&amp;quot;,\%options);&lt;br /&gt;
 &lt;br /&gt;
 $queue         = $options{q} if defined $options{q};&lt;br /&gt;
 $owner         = $options{o} if defined $options{o};&lt;br /&gt;
 $advDate       = ( $options{a} * $secInDay ) if defined $options{a};&lt;br /&gt;
 $debug         = $options{d} if defined $options{d};&lt;br /&gt;
 $sendToAdminCC =  $options{A} if defined $options{A};&lt;br /&gt;
 &lt;br /&gt;
 ################## Variables Init ##################&lt;br /&gt;
 my $User = new RT::User($RT::SystemUser); # Define an RT User variable&lt;br /&gt;
 my $date = new RT::Date($RT::SystemUser); # Define a date variable (used for comparisions)&lt;br /&gt;
 my $tickets = new RT::Tickets($RT::SystemUser); # Used to store Ticket search results&lt;br /&gt;
 my $now = new RT::Date($RT::SystemUser); # get current time&lt;br /&gt;
 $now-&amp;amp;gt;SetToNow();&lt;br /&gt;
 my $report; # Used for output&lt;br /&gt;
 my $subject; # Used as subject line&lt;br /&gt;
 &lt;br /&gt;
 ################## Main Program ##################&lt;br /&gt;
 # Limit the ticket search to new and open only.&lt;br /&gt;
 $tickets-&amp;amp;gt;LimitStatus(VALUE =&amp;amp;gt; &#039;new&#039;);&lt;br /&gt;
 $tickets-&amp;amp;gt;LimitStatus(VALUE =&amp;amp;gt; &#039;open&#039;);&lt;br /&gt;
 &lt;br /&gt;
 # Loop through new/open tickets&lt;br /&gt;
 while (my $Ticket = $tickets-&amp;amp;gt;Next) {&lt;br /&gt;
     # Construct POP-Up Message&lt;br /&gt;
     $User-&amp;amp;gt;Load($Ticket-&amp;amp;gt;Owner);&lt;br /&gt;
 &lt;br /&gt;
     # Compare Dates to check whether the ticket&#039;s due date is in the past + Due date exists&lt;br /&gt;
     $date-&amp;amp;gt;Set(Format =&amp;amp;gt; &amp;quot;ISO&amp;quot;,Value =&amp;amp;gt; $Ticket-&amp;amp;gt;Due);&lt;br /&gt;
     if ($now-&amp;amp;gt;Unix - $date-&amp;amp;gt;Unix &amp;amp;lt; (1 - $advDate ) or $date-&amp;amp;gt;Unix == -1) { next; }&lt;br /&gt;
 &lt;br /&gt;
     # Compare owner and queue if given. Skip current ticket if invalid.&lt;br /&gt;
     if ($owner) { if ( lc($User-&amp;amp;gt;Name) ne lc($owner) ) { next; } }&lt;br /&gt;
     if ($queue) { if ( lc($Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;Name) ne lc($queue) ) { next; } }&lt;br /&gt;
 &lt;br /&gt;
     # Generate a report&lt;br /&gt;
     $report = &amp;quot;&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Ticket #: &amp;quot; . $Ticket-&amp;amp;gt;id . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Subject:  &amp;quot; . $Ticket-&amp;amp;gt;Subject . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Queue:    &amp;quot; . $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;Name . &amp;quot; (&amp;quot;. $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;AdminCcAddresses .&amp;quot;) \n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Owner:    &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot;\n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;Due date: &amp;quot; . $date-&amp;amp;gt;ISO . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $report .= &amp;quot;URL:      &amp;quot; . $rt_url . &amp;quot;Ticket/Display.html?id=&amp;quot; . $Ticket-&amp;amp;gt;id . &amp;quot;\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
     # Set the subject based on the due date.&lt;br /&gt;
     if( ($now-&amp;amp;gt;Unix - $date-&amp;amp;gt;Unix &amp;amp;lt; 0  ) or $date-&amp;amp;gt;Unix == -1 ) {&lt;br /&gt;
         $subject =  &amp;quot;Ticket #&amp;quot;. $Ticket-&amp;amp;gt;id . &amp;quot; with owner &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot; is due on &amp;quot; . $date-&amp;amp;gt;ISO;&lt;br /&gt;
     } else {&lt;br /&gt;
         $subject =  &amp;quot;Ticket #&amp;quot;. $Ticket-&amp;amp;gt;id . &amp;quot; with owner &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot; is overdue&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;    # Get Queue Admin CC&lt;br /&gt;
     # Do we send to Admin CC as well as to owner?&lt;br /&gt;
     my @emails = ();&lt;br /&gt;
     if ( $sendToAdminCC ) {&lt;br /&gt;
         @emails = ($User-&amp;amp;gt;EmailAddress, split(/,/, $Ticket-&amp;amp;gt;AdminCcAddresses), split(/,/ , $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;AdminCcAddresses));&lt;br /&gt;
     } else {&lt;br /&gt;
         @emails = ($User-&amp;amp;gt;EmailAddress);&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     # remove duplicates&lt;br /&gt;
     my %temp = (); @emails = grep ++$temp{$_} &amp;amp;lt; 2, @emails;&lt;br /&gt;
     send_report(@emails);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Close RT Handle&lt;br /&gt;
 $RT::Handle-&amp;amp;gt;Disconnect();&lt;br /&gt;
 exit 0;&lt;br /&gt;
 &lt;br /&gt;
 # This procedure will send a report by mail to the owner&lt;br /&gt;
 #  parameter 1 - email addresses to send to&lt;br /&gt;
 # Global variables refered to:&lt;br /&gt;
 #  $subject - Subject line&lt;br /&gt;
 #  @report - Message content&lt;br /&gt;
 #  $from_address - address to send from&lt;br /&gt;
 sub send_report {&lt;br /&gt;
     my @tos = @_;&lt;br /&gt;
     my $addr;&lt;br /&gt;
 &lt;br /&gt;
     foreach $addr (@tos) {&lt;br /&gt;
         next if (length($addr) == 0);&lt;br /&gt;
         my $msg = &amp;quot;&amp;quot;;&lt;br /&gt;
         $msg .= &amp;quot;From: $from_address\n&amp;quot;;&lt;br /&gt;
         $msg .= &amp;quot;To: $addr\n&amp;quot;;&lt;br /&gt;
         $msg .= &amp;quot;Subject: $subject\n&amp;quot;;&lt;br /&gt;
         $msg .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
         $msg .= $report;&lt;br /&gt;
 &lt;br /&gt;
         if ($debug) {&lt;br /&gt;
             print &amp;quot;====== Would call &#039;$sendmail&#039; with this input:\n&amp;quot;;&lt;br /&gt;
             print &amp;quot;$msg\n\n&amp;quot;;&lt;br /&gt;
 	} else {&lt;br /&gt;
             open(SENDMAIL, &amp;quot;|$sendmail&amp;quot;) || die &amp;quot;Error sending mail: $!&amp;quot;;&lt;br /&gt;
             print SENDMAIL $msg;&lt;br /&gt;
             close(SENDMAIL);&lt;br /&gt;
 	}&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Old version ==&lt;br /&gt;
&lt;br /&gt;
====== Version by Tomas Borland Valenta added at 14.3.2007 ======&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/usr/bin/perl -w&lt;br /&gt;
 ####################### RT Email Notification Script ####################&lt;br /&gt;
 ####&lt;br /&gt;
 #### Author: Daniely Yoav / Qball Technologies Ltd.&lt;br /&gt;
 #### Email: yoavd@qballtech.net&lt;br /&gt;
 #### Date: 05/06/05&lt;br /&gt;
 ####&lt;br /&gt;
 #### Modified by: Tomas Borland Valenta&lt;br /&gt;
 #### Email: tomas at trustica dot cz&lt;br /&gt;
 #### Date: 2007/03/12&lt;br /&gt;
 ####&lt;br /&gt;
 #### Purpose: Send Email Notification on all open/new tickets in RT that have their due date expired&lt;br /&gt;
 ####&lt;br /&gt;
 #### Version: 2&lt;br /&gt;
 #### Changes from 1.2&lt;br /&gt;
 #### - rewriten mail subsystem&lt;br /&gt;
 #### - code cleanup&lt;br /&gt;
 #### - adopted for RT 3.6.x&lt;br /&gt;
 #### - used some global RT config variables&lt;br /&gt;
 ####&lt;br /&gt;
 ####  Usage: Invoke via cron every working day at 8 morning&lt;br /&gt;
 ####  0 8 * * 1-5 /path/to/script/remind_email_due.pl&lt;br /&gt;
 &lt;br /&gt;
 ### External libraries ###&lt;br /&gt;
 use strict;&lt;br /&gt;
 use lib (&amp;quot;/usr/share/request-tracker3.6/lib&amp;quot;);&lt;br /&gt;
 package RT;&lt;br /&gt;
 use RT::Interface::CLI qw(CleanEnv GetCurrentUser GetMessageContent loc);&lt;br /&gt;
 use RT::Date;&lt;br /&gt;
 use RT::Queue;&lt;br /&gt;
 use RT::Queues;&lt;br /&gt;
 use RT::Tickets;&lt;br /&gt;
 &lt;br /&gt;
 ################## Init ##################&lt;br /&gt;
 # Clean our environment&lt;br /&gt;
 CleanEnv();&lt;br /&gt;
 # Load the RT configuration&lt;br /&gt;
 RT::LoadConfig();&lt;br /&gt;
 RT::Init();&lt;br /&gt;
 # Set config variables&lt;br /&gt;
 my $debug=0;&lt;br /&gt;
 my $from_address = $RT::CorrespondAddress; #From: address used in reports&lt;br /&gt;
 my $rt_url = $RT::WebURL;&lt;br /&gt;
 my $sendmail = &amp;quot;$RT::SendmailPath $RT::SendmailArguments&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 ################## Variables Init ##################&lt;br /&gt;
 my $User = new RT::User($RT::SystemUser); # Define an RT User variable&lt;br /&gt;
 my $date = new RT::Date($RT::SystemUser); # Define a date variable (used for comparisions)&lt;br /&gt;
 my $tickets = new RT::Tickets($RT::SystemUser); # Used to store Ticket search results&lt;br /&gt;
 my $now = new RT::Date($RT::SystemUser); # get current time&lt;br /&gt;
 $now-&amp;amp;gt;SetToNow();&lt;br /&gt;
 my $report; # Used for output&lt;br /&gt;
 my $subject; # Used as subject line&lt;br /&gt;
 &lt;br /&gt;
 ################## Main Program ##################&lt;br /&gt;
 # Limit the ticket search to new and open only.&lt;br /&gt;
 $tickets-&amp;amp;gt;LimitStatus(VALUE =&amp;amp;gt; &#039;new&#039;);&lt;br /&gt;
 $tickets-&amp;amp;gt;LimitStatus(VALUE =&amp;amp;gt; &#039;open&#039;);&lt;br /&gt;
 &lt;br /&gt;
 # Loop through new/open tickets&lt;br /&gt;
 while (my $Ticket = $tickets-&amp;amp;gt;Next) {&lt;br /&gt;
   # Construct POP-Up Message&lt;br /&gt;
   $User-&amp;amp;gt;Load($Ticket-&amp;amp;gt;Owner);&lt;br /&gt;
   # Compare Dates to check whether the ticket&#039;s due date is in the past + Due date exists&lt;br /&gt;
   $date-&amp;amp;gt;Set(Format =&amp;amp;gt; &amp;quot;ISO&amp;quot;,Value =&amp;amp;gt; $Ticket-&amp;amp;gt;Due);&lt;br /&gt;
   if ($now-&amp;amp;gt;Unix - $date-&amp;amp;gt;Unix &amp;amp;lt; 0 or $date-&amp;amp;gt;Unix == -1) { next; }&lt;br /&gt;
   # Generate a report&lt;br /&gt;
   $report = &amp;quot;&amp;quot;;&lt;br /&gt;
   $report .= &amp;quot;Ticket #: &amp;quot; . $Ticket-&amp;amp;gt;id . &amp;quot;\n&amp;quot;;&lt;br /&gt;
   $report .= &amp;quot;Subject:  &amp;quot; . $Ticket-&amp;amp;gt;Subject . &amp;quot;\n&amp;quot;;&lt;br /&gt;
   $report .= &amp;quot;Queue:    &amp;quot; . $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;Name . &amp;quot; (&amp;quot;. $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;AdminCcAddresses .&amp;quot;) \n&amp;quot;;&lt;br /&gt;
   $report .= &amp;quot;Owner:    &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot;\n&amp;quot;;&lt;br /&gt;
   $report .= &amp;quot;Due date: &amp;quot; . $date-&amp;amp;gt;ISO . &amp;quot;\n&amp;quot;;&lt;br /&gt;
   $report .= &amp;quot;URL:      &amp;quot; . $rt_url . &amp;quot;Ticket/Display.html?id=&amp;quot; . $Ticket-&amp;amp;gt;id . &amp;quot;\n&amp;quot;;&lt;br /&gt;
   $subject =  &amp;quot;Ticket #&amp;quot;. $Ticket-&amp;amp;gt;id . &amp;quot; with owner &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot; is overdue&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
   # Get Queue Admin CC&lt;br /&gt;
   my @emails = ($User-&amp;amp;gt;EmailAddress, split(/,/, $Ticket-&amp;amp;gt;AdminCcAddresses), split(/,/ , $Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;AdminCcAddresses));&lt;br /&gt;
   my %temp = (); @emails = grep ++$temp{$_} &amp;amp;lt; 2, @emails; # remove duplicates&lt;br /&gt;
   send_report(@emails);&lt;br /&gt;
 }&lt;br /&gt;
 # Close RT Handle&lt;br /&gt;
 $RT::Handle-&amp;amp;gt;Disconnect();&lt;br /&gt;
 exit 0;&lt;br /&gt;
 &lt;br /&gt;
 # This procedure will send a report by mail to the owner&lt;br /&gt;
 #  parameter 1 - email addresses to send to&lt;br /&gt;
 # Global variables refered to:&lt;br /&gt;
 #  $subject - Subject line&lt;br /&gt;
 #  @report - Message content&lt;br /&gt;
 #  $from_address - address to send from&lt;br /&gt;
 sub send_report {&lt;br /&gt;
   my @tos = @_;&lt;br /&gt;
   my $addr;&lt;br /&gt;
 &lt;br /&gt;
   foreach $addr (@tos) {&lt;br /&gt;
     next if (length($addr) == 0);&lt;br /&gt;
     my $msg = &amp;quot;&amp;quot;;&lt;br /&gt;
     $msg .= &amp;quot;From: $from_address\n&amp;quot;;&lt;br /&gt;
     $msg .= &amp;quot;To: $addr\n&amp;quot;;&lt;br /&gt;
     $msg .= &amp;quot;Subject: $subject\n&amp;quot;;&lt;br /&gt;
     $msg .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $msg .= $report;&lt;br /&gt;
 &lt;br /&gt;
     if ($debug) {&lt;br /&gt;
       print &amp;quot;====== Would call &#039;$sendmail&#039; with this input:\n&amp;quot;;&lt;br /&gt;
       print &amp;quot;$msg\n\n&amp;quot;;&lt;br /&gt;
     } else {&lt;br /&gt;
       open(SENDMAIL, &amp;quot;|$sendmail&amp;quot;) || die &amp;quot;Error sending mail: $!&amp;quot;;&lt;br /&gt;
       print SENDMAIL $msg;&lt;br /&gt;
       close(SENDMAIL);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Old version ==&lt;br /&gt;
&lt;br /&gt;
====== Daniely Yoav, !QBall Technologies Ltd. yoavd![at]qballtech![dot]net ======&lt;br /&gt;
&lt;br /&gt;
You can cut/paste or download the script from [http://qballtech.net/rt_3_remind_email_due.pl.gz Notifications script]. Put the script in your daily crontab (/etc/cron.daily on Fedora Core)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/usr/bin/perl -w&lt;br /&gt;
 ####################### RT Email Notification Script ####################&lt;br /&gt;
 #### Author: Daniely Yoav / Qball Technologies Ltd.&lt;br /&gt;
 #### Email: yoavd@qballtech.net&lt;br /&gt;
 #### Purpose: Send Email Notification on all open/new tickets in RT that have their due date expired&lt;br /&gt;
 #### Version: 1.1&lt;br /&gt;
 ####  Usage: Invoke via cron&lt;br /&gt;
 ####               */5 * * * * /path/to/script/remind_email_due.pl&lt;br /&gt;
 #### Date: 05/06/05&lt;br /&gt;
 ############################################################&lt;br /&gt;
 my $from_address = &#039;reports@demo.qballtech.net&#039;; #From: address used in reports&lt;br /&gt;
 my $mail_host = &#039;localhost&#039;; #Mail Server used for sending mail&lt;br /&gt;
 my $my_host = &#039;demo.qballtech.net&#039;; # My FQDN&lt;br /&gt;
 my $rt_url = &#039;https://demo.qballtech.net/rt&#039;;&lt;br /&gt;
 &lt;br /&gt;
 # Days to send notifcations on&lt;br /&gt;
 # Enable Debug&lt;br /&gt;
 my $debug=0;&lt;br /&gt;
 # initalize&lt;br /&gt;
 use lib (&amp;quot;/usr/local/rt3/lib&amp;quot;, &amp;quot;/usr/local/rt3/local/lib&amp;quot;);&lt;br /&gt;
 ############################################################&lt;br /&gt;
 ################## DO NOT EDIT BELOW THIS LINE ##################&lt;br /&gt;
 ################## External dependancies ##################&lt;br /&gt;
 use strict;&lt;br /&gt;
 use Carp;&lt;br /&gt;
 package RT;&lt;br /&gt;
 use RT::Interface::CLI qw(CleanEnv GetCurrentUser GetMessageContent loc);&lt;br /&gt;
 use RT::Date;&lt;br /&gt;
 use RT::Queue;&lt;br /&gt;
 use RT::Queues;&lt;br /&gt;
 use RT::Tickets;&lt;br /&gt;
 use Mail::Internet;&lt;br /&gt;
 use Mail::Address;&lt;br /&gt;
 use Net::SMTP;&lt;br /&gt;
 use Encode;&lt;br /&gt;
 use MIME::Base64;&lt;br /&gt;
 use MIME::QuotedPrint;&lt;br /&gt;
 use MIME::Words qw(:all);&lt;br /&gt;
 &lt;br /&gt;
 ################## RT Init ##################&lt;br /&gt;
 # Clean our environment&lt;br /&gt;
 CleanEnv();&lt;br /&gt;
 # Load the RT configuration&lt;br /&gt;
 RT::LoadConfig();&lt;br /&gt;
 RT::Init();&lt;br /&gt;
 ################## Variables Init ##################&lt;br /&gt;
  my $User = RT::User-&amp;amp;gt;new($RT::SystemUser); # Define an RT User variable&lt;br /&gt;
  my $date = new RT::Date($RT::SystemUser); # Define a date variable (used for comparisions)&lt;br /&gt;
  my $pipe; # Used as PIPE to transfer data to smbclient&lt;br /&gt;
  my $tickets = new RT::Tickets($RT::SystemUser); # Used to store Ticket search results&lt;br /&gt;
  my $now = new RT::Date($RT::SystemUser); # get current time&lt;br /&gt;
  $now-&amp;amp;gt;SetToNow();&lt;br /&gt;
  my @report; # Used for output&lt;br /&gt;
  my $subject; # Used as subject line&lt;br /&gt;
 ################## Main Program ##################&lt;br /&gt;
 # Limit the ticket search to new and open only.&lt;br /&gt;
 $tickets-&amp;amp;gt;LimitStatus(VALUE =&amp;amp;gt; &#039;new&#039;);&lt;br /&gt;
 $tickets-&amp;amp;gt;LimitStatus(VALUE =&amp;amp;gt; &#039;open&#039;);&lt;br /&gt;
 # Loop through new/open tickets&lt;br /&gt;
 while (my $Ticket = $tickets-&amp;amp;gt;Next) {&lt;br /&gt;
      # Construct POP-Up Message&lt;br /&gt;
      $User-&amp;amp;gt;Load($Ticket-&amp;amp;gt;Owner);&lt;br /&gt;
      # Compare Dates to check whether the ticket&#039;s due date is in the past + Due date exists&lt;br /&gt;
      $date-&amp;amp;gt;Set(Format =&amp;amp;gt; &amp;quot;ISO&amp;quot;,Value =&amp;amp;gt; $Ticket-&amp;amp;gt;Due);&lt;br /&gt;
      if ($now-&amp;amp;gt;Unix - $date-&amp;amp;gt;Unix  &amp;amp;gt; 0 and $date-&amp;amp;gt;Unix != -1) {&lt;br /&gt;
      # Generate a report&lt;br /&gt;
      @report = ();&lt;br /&gt;
      push (@report,&amp;quot;Ticket #&amp;quot; . $Ticket-&amp;amp;gt;id . &amp;quot; is over his due date. \n&amp;quot;);&lt;br /&gt;
      push (@report,&amp;quot;Owner: &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot;\n&amp;quot;);&lt;br /&gt;
        push (@report,&amp;quot;Due date:&amp;quot; . $date-&amp;amp;gt;ISO . &amp;quot;\n&amp;quot;);&lt;br /&gt;
      push (@report,&amp;quot;Subject: &amp;quot; . $Ticket-&amp;amp;gt;Subject . &amp;quot;\n&amp;quot;);&lt;br /&gt;
      push (@report,&amp;quot;URL: &amp;quot; . $rt_url . &amp;quot;/Ticket/Display.html?id=&amp;quot; . $Ticket-&amp;amp;gt;id . &amp;quot;\n&amp;quot;);&lt;br /&gt;
      push (@report,&amp;quot;\n\nTickets notifications script by Qball Solutions&amp;quot;);&lt;br /&gt;
      push (@report,&amp;quot;\nplease report problems to solutions\@helpdesk.qballtech.net)&amp;quot;);&lt;br /&gt;
      push(@report,&amp;quot;\nContact us! (info\@qballtech.net)\n&amp;quot;);&lt;br /&gt;
      $subject =  &amp;quot;Ticket #&amp;quot;. $Ticket-&amp;amp;gt;id . &amp;quot; with Owner: &amp;quot; . $User-&amp;amp;gt;Name .&amp;quot; is over his due date\n&amp;quot;;&lt;br /&gt;
      #print $line .  &amp;quot;\n&amp;quot;;&lt;br /&gt;
      #print $User-&amp;amp;gt;EmailAddress . &amp;quot;\n&amp;quot;;&lt;br /&gt;
      # Send report by email&lt;br /&gt;
      # Get Queue Admin CC&lt;br /&gt;
      send_report($User-&amp;amp;gt;EmailAddress . &amp;quot;,&amp;quot; . $Ticket-&amp;amp;gt;AdminCcAddresses . &amp;quot;,&amp;quot; .$Ticket-&amp;amp;gt;QueueObj-&amp;amp;gt;AdminCcAddresses);&lt;br /&gt;
      print @report if $debug;&lt;br /&gt;
      }&lt;br /&gt;
 }&lt;br /&gt;
 # Close RT Handle&lt;br /&gt;
 $RT::Handle-&amp;amp;gt;Disconnect();&lt;br /&gt;
 exit 0;&lt;br /&gt;
 &lt;br /&gt;
 sub send_report {&lt;br /&gt;
 ##########################&lt;br /&gt;
 # Send report procedure###&lt;br /&gt;
 ##########################&lt;br /&gt;
 # This procedure will send a report by mail to the owner&lt;br /&gt;
 # Parameter 1) Email addresses to send to&lt;br /&gt;
 # Global variables refered to:&lt;br /&gt;
 # $subject - Subject line&lt;br /&gt;
 # @report - Message content&lt;br /&gt;
 # $mail_host - mail relay host address&lt;br /&gt;
 # $from_address - address to send from&lt;br /&gt;
 my $smtp;&lt;br /&gt;
 my $addr;&lt;br /&gt;
 my $full;&lt;br /&gt;
 my $to_address = &amp;quot;$_[0]&amp;quot;;&lt;br /&gt;
 my @addrs = Mail::Address-&amp;amp;gt;parse(&amp;quot;$to_address&amp;quot;);&lt;br /&gt;
 my $mime_type = &#039;TEXT&#039;;&lt;br /&gt;
 my $message = @report;&lt;br /&gt;
 foreach $addr (@addrs)&lt;br /&gt;
 {&lt;br /&gt;
   $full=$addr-&amp;amp;gt;format;&lt;br /&gt;
   $smtp = Net::SMTP-&amp;amp;gt;new($mail_host,Debug=&amp;amp;gt; 0);&lt;br /&gt;
   die &amp;quot;Couldn&#039;t connect to server&amp;quot; unless $smtp;&lt;br /&gt;
   $smtp-&amp;amp;gt;mail( $from_address );&lt;br /&gt;
   $smtp-&amp;amp;gt;to($full);&lt;br /&gt;
   $smtp-&amp;amp;gt;data();&lt;br /&gt;
   $smtp-&amp;amp;gt;datasend(&amp;quot;Subject: $subject&amp;quot;);&lt;br /&gt;
   $smtp-&amp;amp;gt;datasend(&amp;quot;To: &amp;quot; . $full . &amp;quot;\n&amp;quot;);&lt;br /&gt;
   $smtp-&amp;amp;gt;datasend(&amp;quot;From: &amp;quot; . $from_address . &amp;quot;\n&amp;quot;);&lt;br /&gt;
   $smtp-&amp;amp;gt;datasend(&amp;quot;\n&amp;quot;);&lt;br /&gt;
   $smtp-&amp;amp;gt;datasend(&amp;quot;@report\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
   $smtp-&amp;amp;gt;dataend();&lt;br /&gt;
   $smtp-&amp;amp;gt;quit();&lt;br /&gt;
 };&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frisbee23</name></author>
	</entry>
</feed>