sendmail with attachments


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sendmail with attachments
# 1  
Old 09-04-2009
sendmail with attachments

Hi,

I got the following script from Ygor on this site:


Code:
#!/usr/bin/ksh

export MAILTO="email_address"
export CONTENT="/export/home/aisdba/email_body.html"
export SUBJECT="subject of email"
(
 echo "Subject: $SUBJECT"
 echo "MIME-Version: 1.0"
 echo "Content-Type: text/html"
 echo "Content-Disposition: inline"
 cat $CONTENT
) | /usr/sbin/sendmail $MAILTO

It works perfectly and means you don't need to use MIME to format the body of the email message you just use the HTML file defined in the CONTENT section above (its brilliant).

HOWEVER

I need to send the email with an attachment, now this is not the same file used for the body of the email rather a completely different file e.g. a txt file say. The following doesn't work:

Code:
#!/usr/bin/ksh

export MAILTO="email_address"
export CONTENT="/export/home/aisdba/email_body.html"
export SUBJECT="subject of email"
(
 echo "Subject: $SUBJECT"
 echo "MIME-Version: 1.0"
 echo "Content-Type: text/html"
 echo "Content-Disposition: inline"
 cat $CONTENT
) | /usr/sbin/sendmail $MAILTO > /file_location/filename.txt


It just messes with the body of the email and causes HTML code to be displayed rather than interpreted by Outlook.

Any ideas on how to keep the HTML interpreted in the body of the email and send the email with an attachment?

Thanks
Alec

Last edited by Ygor; 09-06-2009 at 10:23 PM.. Reason: Added CODE tags.
# 2  
Old 09-04-2009
Take care - the script as posted would overwrite /file_location/filename.txt .
On my system the various Mime lines are surplus so I have removed them.

The construct below should cause the text file to be a proper attachment.

The full stop at the end of the message is assumed in some version of sendmail but there is no harm in including it.

On some unixes the text file conversion program is called unix2dos rather than ux2dos .

Code:
#!/usr/bin/ksh

export MAILTO="email_address"
export CONTENT="/export/home/aisdba/email_body.html"
export SUBJECT="subject of email"
(
echo "Subject: $SUBJECT"
# This appears in the mail body
cat $CONTENT
# The next line creates the attachment with a suitable extension to read
# with Windows notepad
ux2dos "/file_location/filename.txt" | uuencode myattach.txt
echo "."
) | /usr/sbin/sendmail $MAILTO

# 3  
Old 09-06-2009
This is a script I have to send html mail with a pdf attachment...
Code:
#!/usr/bin/ksh

export MAILTO="spam@ebay.com"
export SUBJECT="Mail Subject"
export BODY="/tmp/email_body.html"
export ATTACH="/tmp/attachment.pdf"
(
 echo "To: $MAILTO"
 echo "Subject: $SUBJECT"
 echo "MIME-Version: 1.0"
 echo 'Content-Type: multipart/mixed; boundary="-q1w2e3r4t5"'
 echo
 echo '---q1w2e3r4t5'
 echo "Content-Type: text/html"
 echo "Content-Disposition: inline"
 cat $BODY
 echo '---q1w2e3r4t5'
 echo 'Content-Type: application; name="'$(basename $ATTACH)'"'
 echo "Content-Transfer-Encoding: base64"
 echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
 uuencode --base64 $ATTACH $(basename $ATTACH)
 echo '---q1w2e3r4t5--'
) | /usr/sbin/sendmail $MAILTO

I'm using GNU uuencode, hence the --base64, so you may need to change it.
These 2 Users Gave Thanks to Ygor For This Post:
# 4  
Old 09-08-2009
Thanks for both your replies. Ygor's reply is the one that seems to be working better for me, but the systems I use are very clunky so don't discount methyl's answer.

With Ygor's code I am now receiving an attachment, with the correct file name, however the file is empty, however I can see that the correct is on box, populated and ready to be attached.

I receive the following error at the end of my script run:

uuencode: illegal option -- base64

So I gather its the way I am encoding this attachment that is the problem. I don't know what exact uuencode I am using or the encoding options open to me, the actual uuencode file date is 2005. What other encoding options are there? My system is likely to use the most awkward one so lots of suggestions are welcome! Thanks
# 5  
Old 09-08-2009
See if you have mimencode or similar: ls /usr/bin/*encode
# 6  
Old 09-09-2009
Thanks Ygor, nothing brought up in the search apart from uuencode sadly. My usual command to attach files to an email is:

uuencode $CSV_FILE $(basename $CSV_FILE)
) | if [ $DATABASE_LIVE = 1 ]
then mailx -b "$COPY_TO" -s "$SUBJECT" -r "$MAIL_FROM" "$MAIL_TO_LIVE"
else mailx -s "$SUBJECT" -r "$MAIL_FROM" "$MAIL_TO_TEST"
fi


However I wanted have the body of the email in MIME or even better (as per your coding) a HTML file that I can construct within my shell script. This makes the body of the email look good (HTML formatting) but also relevant to UNIX Box and Database(s) (with Shell Script variables).

Is there a way to combine the script? Many thanks.
# 7  
Old 09-09-2009
I don't think so. Either create a plain text message with uuencoded attachments (via mailx) or a MIME multi-part message with mimencoded attachments (via sendmail).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sendmail - Attachments & Subjects

Hi All, Not been around in a while. However I have been all over tinternet (google) for days looking for a solution. Where I work has decided to use Sendmail on our Linux and Unix estate for sending emails via scripts. So I am hoping to eventually get a working solution for Sendmail and not... (3 Replies)
Discussion started by: dakelly
3 Replies

2. Solaris

Clarifying sendmail configuration - sendmail-client offline

Hi all, I have read about sendmail running as 2 separate process. 1 as a MSP, and the other as the real daemon or MTA. In my current configuration, the sendmail-client is disabled. Both submit.cf and sendmail.cf are left as default untouch I do not specified any mailhost... (3 Replies)
Discussion started by: javanoob
3 Replies

3. Shell Programming and Scripting

Mailing multiple PNG attachments using sendmail

Need assistance in using the below script and having multiple png file attachments in the same script . Your inputs are appreciated. I dont have uuencode , I use either mailx, sendmail, mpack . ( echo "to: samplemail@somewhere.com" echo "from: samplemail@elsewhere.com" echo "subject:... (2 Replies)
Discussion started by: ajayram_arya
2 Replies

4. UNIX for Advanced & Expert Users

Sendmail questions, SCO 5.0.6 sendmail 8.11.0

I am running SCO 5.0.6 and using sendmail 8.11.0 and having issues with smtp authentication. When trying to send mail the following message will kick back. (reason: 530 5.7.1 Authentication required) 530 5.7.1 Authentication required Not sure what needs to be tweeked in sendmail.cf but I... (1 Reply)
Discussion started by: ziggy6
1 Replies

5. Shell Programming and Scripting

Sendmail gz Attachments

Hi All, I have a problem again with sendmail content type . I am trying to attach the gz file to the html email but couldnt figure out even after extensive google. Here is my code. ( echo "From: $FROM" echo "To: $MAILTO" echo... (3 Replies)
Discussion started by: posner
3 Replies

6. Shell Programming and Scripting

Sendmail Png Attachments

I use sendmail to send html emails, my script works perfect and sends email with plain text attachment. Now i need to attache png file to the email and this attachment part is not working. ( echo "From: $FROM" echo "To: $TO" echo "MIME-Version: 1.0" echo "Subject: $SUBJECT" echo... (4 Replies)
Discussion started by: posner
4 Replies

7. Shell Programming and Scripting

Sendmail Script: Gmail cannot find attachments

Hi. I am using a script on HP-UX to send emails that include a Pdf attachment to clients. The scipt makes use of sendmail. The scripts works for everything except gmail. When I go on gmail via my Web Browser, I can see the message with the attachment, but if I try to view or download the... (2 Replies)
Discussion started by: Wahooka
2 Replies

8. UNIX and Linux Applications

Attachments in MUTT.

Can any body figure out how to attach the attachments mails while drafting them in MUTT form any location on my system. I am not able to figure it out. (0 Replies)
Discussion started by: nixhead
0 Replies

9. UNIX for Dummies Questions & Answers

sendmail attachments

Dear all, I've been working with AIX for, um, 15 years now and I have read all I can about the above, but I am stuck. Everything seems to point to using sendmail on the command line to embed a uuencoded attatchment will not work. Using something like "(cat plain.txt;uuencode attach.file... (4 Replies)
Discussion started by: rbatte1
4 Replies

10. Post Here to Contact Site Administrators and Moderators

Attachments

Hi I find that the attachment size are very limited. For eg, if we wish to analyse explorers from Sun systems or messages file, definitely they will exceed the given 3.5MB .. Dun you think so?:p (6 Replies)
Discussion started by: incredible
6 Replies
Login or Register to Ask a Question