send email through a perl script.
Question posted by: lilly07
(Member)
on
August 15th, 2008 08:25 AM
I am running a perl script under linux environment. I am looking for a possibility of sending mail to a set of pepole when something goes wrong. Is is possible to do? Thanks.
5
Answers Posted
I found a small example as below and tried.
- #!/usr/bin/perl
-
-
my $to='xyz@hotmail.com';
-
my $from='xyz@hotmail.com';
-
my $subject='Low Disk Space';
-
-
# send email using UNIX/Linux sendmail
-
open(MAIL, "|/usr/sbin/sendmail -t");
-
my $out = "testing";
-
-
-
## Mail Header
-
print MAIL "To: $to\\n";
-
print MAIL "From: $from\\n";
-
print MAIL "Subject: $subject\\n";
-
-
## Mail Body
-
print MAIL $out;
-
-
close(MAIL);
When I execute the code, I get a message as below:
-
No recipient addresses found in header
How to resolve? Can't I use any public domains like hotmail etc.. or do I have to set up anything in my linux server. Please let me know. Thanks.
You need to remove the extra backslashes in these lines:
-
print MAIL "To: $to\\n";
-
print MAIL "From: $from\\n";
-
print MAIL "Subject: $subject\\n";
Should be:
-
print MAIL "To: $to\n";
-
print MAIL "From: $from\n";
-
print MAIL "Subject: $subject\n\n";
Note the two \n\n after subject, that is necessary the way you are doing it.
In addition to the example that you found, you can also check out the Net::SMTP module from CPAN. Its also a good way to go.
Regards,
Jeff
Quote:
Originally Posted by numberwhun
In addition to the example that you found, you can also check out the Net::SMTP module from CPAN. Its also a good way to go.
Regards,
Jeff
I think they got that suggestion on Devshed.
In this thread I posted some code that would send an email with out the use of additional modules.
--Kevin
|
|
|
What is Bytes?
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over 197,039 network members.
|