I haven't seen mailx used before. What I do know is mailx wants a file. Here are some other examples you can use.
#!/usr/bin/perl
my $mailprog = '/usr/lib/sendmail';
open(MAIL, "|$mailprog -t");
print MAIL "To: $SENDER\n";
print MAIL "From: $RECP\n";
print MAIL "$Here_is_where_the_body_of_your_message_goes";
close MAIL;
or this using MIME::Base64, MIME::QuotedPrint and Mail::Sendmail 0.75 which will place a message in the body of the mail and encapsulate the message as a file. You will have to install the modules.
#!/usr/bin/perl
use MIME::QuotedPrint;
use MIME::Base64;
use Mail::Sendmail 0.75;
%mail = (
SMTP => $SMTPSERVER,
from => $SENDER,
to => $RECP,
subject => $Subject,
);
$boundary = "====" . time() . "====";
$mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\"";
$message = encode_qp( "Text of message");
$file = 'message.txt'; # This is the file name
$mail{body} = encode_base64(
$message
);
$boundary = '--'.$boundary;
$mail{body} = <<END_OF_BODY;
$boundary
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
$message
$boundary
Content-Type: application/octet-stream; name="$file"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="$file"
$mail{body}
$boundary--
END_OF_BODY
sendmail(%mail) || print "Error: $Mail::Sendmail::error\n";
Also look under snippits there is an example using Net::SMTP by khippy.
I hope this is helpful.
Gyro
Update: Took out formatting code |