Sendmails via sendmail with attachments
After Send mail via python it was time to try real `sendmail`.
[ From the FAQ pages of sendmail ] How do I create attachments with sendmail? You don't. Sendmail is a mail transfer agent (MTA). Creating e-mail messages, including adding attachments or signatures, is the function of a mail user agent (MUA). Some popular MUAs include mutt, elm, exmh, Netscape, Eudora and Pine. Some specialized packages (metamail, some Perl modules, etc.) can also be used to create messages with attachments.
But yes there is always a way out!
"sendmail" as an MTA, it just sees data.If, we want to make "/usr/sbin/sendmail", as a MUA create a mail with attachments, the answer is no - use a MUA that can, or pre-build the mail and submit via sendmail -t
Hot Dope for simple text and html files can be seen below, the same can be used for others also by switching the content type as "Content-Type: MIMETYPE"
cat > mail << EOF "From: $From To: $TO Subject: $SUBJECT Mime-Version: 1.0 Content-Type: text/plain\n" EOF cat YOUR_FILE >> mail /usr/lib/sendmail -t -oi < mail
A common perl hack, makes things more robust
#!/usr/local/bin/perl -w use MIME::Lite; $PLAINFILE="/tmp/text"; $BINFILE="/tmp/binary"; $SUBJECT="Attachmented"; $MAILTO="[email protected]"; #Meta Msg creation $msg = new MIME::Lite From => "$ENV{LOGNAME}", To => "$MAILTO", Subject => "$SUBJECT", Type => 'multipart/mixed'; # Attach attach $msg Type => 'text/plain', Path => "$PLAINFILE"; attach $msg Type => 'application/octet-stream', Encoding => 'base64', Path => "/tmp/$BINFILE", Filename => "$BINFILE"; # Send message to sendmail open (SENDMAIL, "| /usr/lib/sendmail -t -oi"); $msg->print(\*SENDMAIL); close(SENDMAIL);

Recent blog posts
- watir-webdriver web inspector
- gem list to gemfile
- Packing ruby2.0 on debian.
- Made it into The Guinness Book!
- to_h in ruby 2.0
- Filter elements by pattern jQuery.
- Better HTML password fields for mobile ?
- Grayscale image when user offline
- nth-child CSS pseudo-class Christmas colors
- EventEmitter in nodejs