Escolar Documentos
Profissional Documentos
Cultura Documentos
http://www.unix.com/how-do-i-send-email/4796-mail-question-hp-...
The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers > Answers to Frequently Asked Questions > How do I send email? User Name Password Remember Me?
google site
How do I send email? Learn how to send a UNIX or Linux email attachment from the command line.
Display Modes #1
dsthompson
Registered User MAIL question for HP-Unix O/S
Has anyone written a script to attached a text file when sending an email using the MAIL command? I wrote a Unix Script to email an end-user a text file. I want the file to be an attachment. I've tried the unix command uuencode but this seems to be for a binary file. My text file is garbage (binary) when it's opened from within the email. --------------------------------------------------------****** SAMPLE SCRIPT BELOW ****** --------------------------------------------------------uuencode $LG_TOP/bin/ARPSONIC.txt $LG_TOP/bin/SONIC.txt > $LG_TOP/bin/dst.tst to=dsthompson@upslogistics.com from=dsthompson@upslogistics.com cc=dsthompson@upslogistics.com echo 'To:'$to > $LG_TOP/bin/dst.tmp echo 'From:'$from >> $LG_TOP/bin/dst.tmp echo 'Cc:'$cc >> $LG_TOP/bin/dst.tmp echo 'Return-receipt: Yes' >> $LG_TOP/bin/dst.tmp echo 'Subject: UPS Logistics Files ' >> $LG_TOP/bin/dst.tmp echo 'Dear Customer' >> $LG_TOP/bin/dst.tmp echo ' '>> $LG_TOP/bin/dst.tmp echo 'Please find attached File' >> $LG_TOP/bin/dst.tmp echo ' '>> $LG_TOP/bin/dst.tmp echo 'Thank you'>> $LG_TOP/bin/dst.tmp echo ' '>> $LG_TOP/bin/dst.tmp echo 'Deborah S. Thompson'>> $LG_TOP/bin/dst.tmp cat $LG_TOP/bin/dst.tmp $LG_TOP/bin/dst.tst > $LG_TOP/bin/dst.tmp1
1 of 7
11/18/2011 2:16 PM
MAIL question for HP-Unix O/S - The UNIX and Linux Forums
http://www.unix.com/how-do-i-send-email/4796-mail-question-hp-...
Sponsored Links
Remove advertisements
02-26-2002
#2
Perderabo
Unix Daemon
Join Date: Aug 2001 Location: Ashburn, Virginia Posts: 9,679 Thanks: 26 Thanked 206 Times in 139 Posts
I had to write a script on HP-UX that would send an ascii file as a mime attachment but in such a way that a non mime mailer could read it. This was to satisfy all of our customers at once. Here it is...
Code:
#! /usr/bin/ksh
2 of 7
11/18/2011 2:16 PM
MAIL question for HP-Unix O/S - The UNIX and Linux Forums
http://www.unix.com/how-do-i-send-email/4796-mail-question-hp-...
# # # # # # # # # # # # # # # # # # # # # #
This script takes two ascii files and mails them. One file is the main body of the message. The second file is sent as an ascii mime attachment. But everything is kept in ascii so that users with non-mime mail user agents can deal with it
Options -t -a -b -s -A addressee address body subject attachment (required) (required) (required) (optional) (optional) -b body.txt -A attach.txt
Here body.txt and attach.txt are files. The name of the body file isn't too important. The name of the attachment file is important since it will be sent as well as the contents. A Microsoft OS uses the name to figure out what to do. It knows what a .txt file is but it will get mixed up with a .junk file.
((error=0)) while getopts ':t:a:b:A:s:' opt ; do case $opt in t) TO=$OPTARG ;; a) ADDRESS=$OPTARG ;; b) BODY=$OPTARG ;; A) ATTACHMENT=$OPTARG ;; s) SUBJECT=$OPTARG ;; \?) print -u2 what is -${OPTARG}? ((error=error+1)) ;; :) print -u2 $OPTARG need an argument ((error=error+1)) ;; esac done if [[ -z $TO ]] ; then print -u2 "-t NAME is required" ((error=error+1)) fi
3 of 7
11/18/2011 2:16 PM
MAIL question for HP-Unix O/S - The UNIX and Linux Forums
http://www.unix.com/how-do-i-send-email/4796-mail-question-hp-...
if [[ -z $ADDRESS ]] ; then print -u2 "-a ADDRESS is required" ((error=error+1)) fi if [[ -z $BODY ]] ; then print -u2 "-b BODY is required" ((error=error+1)) fi if [[ ! -f $BODY || ! -r $BODY ]] ; then print -u2 "-b $BODY is not a readable file" ((error=error+1)) fi if [[ -z $ATTACHMENT ]] ; then print -u2 "-A ATTACHMENT is required" ((error=error+1)) fi if [[ ! -f $ATTACHMENT || ! -r $ATTACHMENT ]] ; then print -u2 "-b $ATTACHMENT is not a readable file" ((error=error+1)) fi if ((error)) ; then print -u2 "error in parameter list...exiting" exit 1 fi
pwentry=$(grep "^$(id -un):" /etc/passwd) ((index=0)) while [[ $pwentry = *:* ]] ; do pwfield[index]=${pwentry%%${pwentry##*([!:])}} pwentry=${pwentry##*([!:]):} ((index=index+1)) done pwfield[index]=${pwentry} myname=${pwfield[4]%%,*} myaddr=${pwfield[0]}
BOUNDARY='=== This is the boundary between parts of the message. ===' { print - "From: $myname <${myaddr}>" print - "To: $TO <${ADDRESS}>" if [[ -n $SUBJECT ]] ; then print - 'Subject:' $SUBJECT fi print - 'MIME-Version: 1.0' print - 'Content-Type: MULTIPART/MIXED; ' print - ' BOUNDARY='\"$BOUNDARY\" print print - ' This message is in MIME format.
4 of 7
11/18/2011 2:16 PM
MAIL question for HP-Unix O/S - The UNIX and Linux Forums
http://www.unix.com/how-do-i-send-email/4796-mail-question-hp-...
print - " you aren't using a MIME aware mail program. You shouldn't " print - ' have too many problems because this message is entirely in' print - ' ASCII and is designed to be somewhat readable with old ' print - ' mail software.' print print - "--${BOUNDARY}" print - 'Content-Type: TEXT/PLAIN; charset=US-ASCII' print cat $BODY print print print - "--${BOUNDARY}" print - 'Content-Type: TEXT/PLAIN; charset=US-ASCII; name='${ATTACHMENT} print - 'Content-Disposition: attachment; filename='${ATTACHMENT} print cat $ATTACHMENT print print - "--${BOUNDARY}--" } | /usr/lib/sendmail $ADDRESS exit 0
Sponsored Links
Remove advertisements
03-19-2002
#3
skipper
Guest
03-26-2002
#4
5 of 7
11/18/2011 2:16 PM
MAIL question for HP-Unix O/S - The UNIX and Linux Forums
http://www.unix.com/how-do-i-send-email/4796-mail-question-hp-...
Kelam_Magnus
Registered User
Join Date: Aug 2001 Location: DFW McKinney, TX, Posts: 1,069 Thanks: 0 Thanked 2 Times in 2 Posts
Excellent work! This is better than using ELM even though it works, but is a little awkward. Thanks for the great script. You should share this on www.unixreview.com. They have a contest for the best scripts each month.
Sponsored Links
Remove advertisements
More UNIX and Linux Forum Topics You Might Find Helpful
Thread Question on SCP and Mail command mail question here I am not able to send mail form unix to other mail accounts. can not send mail from unix server to company/yahoo mail Mail question? Thread Starter chris1234 Forum UNIX for Dummies Questions & Answers Replies 9 Last Post 01-20-2008 03:54 PM 05-12-2006 03:42 PM 04-06-2006 09:31 AM
lostinfaith
chinnigd
b5fnpct
yxiao
6 of 7
11/18/2011 2:16 PM
MAIL question for HP-Unix O/S - The UNIX and Linux Forums
http://www.unix.com/how-do-i-send-email/4796-mail-question-hp-...
All times are GMT -4. The time now is 03:15 PM. - Contact Us - The UNIX and Linux Forums - Learn UNIX and UNIX Commands - Archive Top
The UNIX and Linux Forums Content Copyright 1993-2011. All Rights Reserved. Forum Operations by The UNIX and Linux Forums Powered by: vBulletin, Copyright 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by Google vBCredits v1.4 Copyright 2007 - 2008, PixelFX Studios SEO by vBSEO
7 of 7
11/18/2011 2:16 PM