Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Email Forwarding

by randomact (Initiate)
on Feb 05, 2013 at 17:30 UTC ( #1017226=perlquestion: print w/ replies, xml ) Need Help??
randomact has asked for the wisdom of the Perl Monks concerning the following question:

Am sending an email to an Address on a linux server in the aliases file, it then runs script. Works great, but I need to include the message not the "test" that I send to that email. Basically, I need a script to forward a email message but change the From and Subject.

#!/usr/bin/perl -w print "Content-type: text/html\n\n"; #$title='Perl Mail demo'; $to='newaddress@mydomain.com'; $from= 'newfrom@anotherdomain.com'; $subject='newsubject'; $body='This is a test'; open(MAIL, "|/usr/sbin/sendmail -t"); ## Mail Header print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; ## Mail Body print MAIL "$body\n"; $body = substr($body,0,500); close(MAIL); print "<html><head><title>$title</title></head>\n<body>\n\n"; ## HTML content sent, let use know we sent an email print "<h1>$title</h1><p>A message has been sent from $from to $to</p></body></html>";

Thanks for the Help

Comment on Email Forwarding
Download Code
Re: Email Forwarding
by aitap (Deacon) on Feb 05, 2013 at 18:24 UTC
    Where do you want to get the message from, system mailbox? Try reading /var/mail/$username (and parsing it with help from some MIME-parsing/creating module, like Email::MIME or MIME::Tools).
    Sorry if my advice was wrong.

      The email would come from "replaceme@thedomain.com" w/ Subject: "this is the subject to replace" Which "replaceme" is in the Aliase file as: replaceme: "|/msg/forward.pl" When an email is received, the perl script is ran, but I need it to include the Message that is sent.

        Then use one of the modules specified to read and parse the text going from STDIN. You can read from STDIN filehandle using diamond operator (<>), like this:  my $whole_message = do { local $/; <STDIN> }; (see also $/ for more information on slurping filehandle contents).
        Sorry if my advice was wrong.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1017226]
Front-paged by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (11)
As of 2014-12-18 19:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (61 votes), past polls