whittick has asked for the wisdom of the Perl Monks concerning the following question:
Hi, I have a piece of code (below) that is giving me all sorts of headaches. It gets run about once every half hour and practically every time it works fine. However, every so often the '#PART2' part just doesn't send. I've tried a few different ways, closing the connection and reopening etc. but the results are the same:
use net::SMTP; use CGI qw(:standard); #PART1 #Create a new object with 'new' $smtp = Net::SMTP->new('**.*.*.*'); #Send the MAIL command to the server $smtp->mail('[from email]@*****.com'); #Send the server the Mail To address $smtp->to('*****@******.com'); $smtp->cc('*****@******.com', '****@******.com','*****@******.com','** +***@******.com'); #Start the message $smtp->data(); #Send the message $smtp->datasend("From: *******\@******.com\n"); $smtp->datasend("To: *******\@******.com\n"); $smtp->datasend("cc: *******\@******.com; ", "*******\@******.com; ", +"*******\@******.com; ", "*******\@******.com;\n"); $smtp->datasend("Subject: TICKET FROM ********\n"); $smtp->datasend("\n"); $smtp->datasend("<ReportingPersonNumber></ReportingPersonNumber>\n"); $smtp->datasend("<ReportingCompanyNumber></ReportingCompanyNumber>\n") +; $smtp->datasend("<ReportingLocationNumber></ReportingLocationNumber>\n +"); $smtp->datasend("<ConfigItemNumber>$CI</ConfigItemNumber>\n"); $smtp->datasend("<Title>$device_name ~ $message</Title>\n"); $smtp->datasend("<Description>Source: $message_source\n"); $smtp->datasend("Customer: $company\n"); $smtp->datasend("Device: $device_name\n"); $smtp->datasend("Address: $device_address\n"); $smtp->datasend("Device Type: $device_type - $device_model\n"); $smtp->datasend("Test: $message\n"); $smtp->datasend("Severity: $current_user_severity\n"); $smtp->datasend("Purpose: $device_tag1\n"); $smtp->datasend("Site Name: $device_tag2\n"); $smtp->datasend("Responsible: $device_tag5\n"); $smtp->datasend("Monitored by: $device_location\n"); $smtp->datasend("Time: $timestamp</Description>\n"); #End the message $smtp->dataend(); #PART2 #Send the MAIL command to the server $smtp->mail('[from email]@******.com'); #Send the server the Mail To address $smtp->to('*******@******.com'); $smtp->cc('*******@******.com', '*******@******.com','*******@******.c +om'); #Start the message $smtp->data(); #Send the message $smtp->datasend("From: *******\@******.com\n"); $smtp->datasend("To: *******\@******.com\n"); $smtp->datasend("cc: *******\@******.com; ", "*******\@******.com; ", +"*******\@******.com;\n"); $smtp->datasend("Subject: Ticket added to your queue.\n"); $smtp->datasend("\n"); $smtp->datasend("An automatically created ticket has been added to you +r queue.\n"); $smtp->datasend("Please review:\n"); $smtp->datasend("Customer: $company\n"); $smtp->datasend("Title: $device_name ~ $message\n"); $smtp->datasend("Responsible: $device_tag5\n"); #End the message $smtp->dataend(); #Close the connection to your server $smtp->quit();
If anyone can see any glaringly obvious problems plase enlighten me and put me out of my misery.
Thanks
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: net::SMTP - multiple emails
by zwon (Abbot) on Mar 10, 2012 at 07:39 UTC |