Sei sulla pagina 1di 7

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-...

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

MAIL question for HP-Unix O/S


Forums Register Forum Rules Links Man Pages Albums FAQ Users Calendar Today's Posts

How do I send email? Learn how to send a UNIX or Linux email attachment from the command line.

Thread Tools 02-26-2002

Search this Thread

Display Modes #1

dsthompson
Registered User MAIL question for HP-Unix O/S

Join Date: Feb 2002 Posts: 1 Thanks: 0 Thanked 0 Times in 0 Posts

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-...

RECIPIENTS=$to,$cc mail $RECIPIENTS < $LG_TOP/bin/dst.tmp1

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

mimetool -t "Joe Blow" -a jblow@abc.com

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.

But if you can see this,'

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

Last edited by Perderabo; 04-23-2002 at 08:39 AM..

Sponsored Links

Remove advertisements

03-19-2002

#3

skipper
Guest

Posts: n/a Bits: 0 [Banking]

Great post. Worked first time. Thanks

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

sending files as attachments | multiple attachments

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

UNIX for Dummies Questions & Answers

chinnigd

UNIX for Dummies Questions & Answers

b5fnpct

UNIX for Dummies Questions & Answers

11-22-2002 09:24 PM 10-15-2002 11:53 AM

yxiao

UNIX for Dummies Questions & Answers

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

Potrebbero piacerti anche