Here is example script used only ksh + base64 + sendmail
Code:
# sendmail inline text+html and attachments
get_mimetype()
{
Xfname="$1"
[ "$Xfname" = "" ] && echo "usage:$0 fname" >&2 && return 1
[ ! -f "$Xfname" ] && echo "no file $Xfname" >&2 && return 2
mtype=$(file --mime-type "$Xfname" )
mtype=${mtype##* } # take last value from the answer, space is delim.
echo "$mtype"
}
####
# parse file, expand variables and commands, dangerous if source file has not controlled
# but nice method to use templates to make dynamic output
parse_file()
{
[ "$*" = "" ] && return
[ ! -f "$1" ] && return
eval echo "\"$(cat $1 | sed 's+\"+\\"+g' )\""
}
#################################################
# MAIN
#################################################
from="some@example.xx"
to="some@some.us"
epoc=$(printf "%(%#)T" now) # other sh users can use date something ...
subject="Message $epoc"
procid=$$
boundary="My_/some1234.$epoc.$procid.0"
boundarybody="My_/some1234.$epoc.$procid.1"
body="This is my message body $epoc"
# of course you can make body using file as html block has done
# make mail and pipe for sendmail
# mail body text + html
{
echo "$(<<EOT
From: $from
To: $to
Subject: $subject
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="$boundary"
--$boundary
Content-Type: multipart/alternative; boundary="$boundarybody"
--$boundarybody
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
$body
$(date), $(uptime)
--$boundarybody
Content-Type: text/html; charset=ISO-8859-1
Content-Disposition: inline
$(parse_file example.html)
--$boundarybody--
EOT
)"
# attachments = check the mime-type + encoded base64
# loop my all tst.* files ...
for file in tst.*
do
[ ! -f "$file" ] && echo "Warning: $file not found, skip" >&2 && continue
mimetype=$(get_mimetype "$file")
echo "$(<<EOT
--$boundary
Content-Type: $mimetype
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="$file"
$(base64 "$file")
EOT
)"
done
# last boundary
echo "--${boundary}--"
} | tee mailcopy.tmp | /usr/lib/sendmail -t -oi
# mail has saved to file mailcopy.tmp = debug output
And example html body file (example.html):
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>some</title>
</head>
<body>
<h3>Header $epoc</h3>
<p>Hello, world!
$(date), $(uptime)
</p>
</body>
</html>
I have been sending an email attachment from my unix box, but keep getting an error? All though the recipient still receives the email and attachment. Will this error cause problems in the future and how to I cure it?
$ uuencode PReSvPRINTER.txt file | mailx -s "File" me@world.com
uuencode:... (1 Reply)
Hi
I am new to unix and scripting.I am trying to send a html file as an attachment.
SUBJECT="Type of Exceptions in Application"
TO=Sushovan.Samals@gmail.com
SPOOLFILE=/data/reg/tlogs/Monitor.html
#echo "Send the E-mail message..."
uuencode $SPOOLFILE $SPOOLFILE | mailx -s "$SUBJECT" $TO... (2 Replies)
Hi
The below script working when we are sending the html as attachment can u please guide how to send thesmae data in table form direct in the mail and not in mail attachment .
cat Employee.sql
SET VERIFY OFF
SET PAGESIZE 200
SET MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP ON -
HEAD... (0 Replies)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=border
--border
Content-Type: text/html
Content-Disposition: inline
<html><body><h2>This text should be displayed with html formatting</h2></body></html>
--border
Content-Type: text/plain
Content-Disposition: attachment
This text... (2 Replies)
Hello,
I have a script which is sending an html file as an attachment.
#!/usr/bin/ksh
export MAILTO="user@company.com"
export CONTENT="/usr/tmp/file.html"
export SUBJECT="EmailSubject"
(
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: text/html"
echo... (0 Replies)
Hello,
I need to send below text (in a file ABC)as html text in mail body and the same as csv attachment
1,2,3
4,5,6
7,8,9
but to send as html text in mailbody we use
echo "Subject: Report " | cat - ABC | /usr/lib/sendmail -t a@xyz.com
and to send as an attachment in csv format we... (9 Replies)
Hi,
I am using Sun solaris OS unix server
I am trying to send mail with an attachment using below script
cat test.txt;uuencode test.txt test.txt|mailx -s "$subject" someone@somewhere
I m getting mails but with no attachment.
Hence i manipulate the script as below and i am... (2 Replies)
Hi,
I am using the below code:
#!/bin/ksh
SUBJ="Send mail from Unix with file attachments"
TO=sudha.viswanathan@jpmorgan.com
CC=sudha.viswanathan@jpmorgan.com
(
cat << !
To : ${TO}
Subject : ${SUBJ}
Cc : ${CC}
!
cat << !
MIME-Version: 1.0
Content-Type: text/html
`cat... (1 Reply)
How to Send a mail with multiple attachment also differenet extension using uuencode in AIX.
Can you please help me. Its so urgent.
Thanks.
Regards,
Swapnil
---------- Post updated at 05:37 AM ---------- Previous update was at 05:35 AM ----------
I have below code. But attachment... (1 Reply)
Discussion started by: Swapnil Mawle
1 Replies
LEARN ABOUT ULTRIX
uudecode
uuencode(1c)uuencode(1c)Name
uuencode, uudecode - encode/decode a binary file for transmission via mail
Syntax
uuencode [file] remotedest | mail sys1!sys2!..!decode
uudecode [file]
Description
The and commands are used to send a binary file by uucp (or other) mail. This combination can be used over indirect mail links even when
is not available.
The command takes the named source file (default standard input) and produces an encoded version on the standard output. The encoding uses
only printing ASCII characters, and includes the mode of the file and the remotedest for recreation on the remote system.
The command reads an encoded file, strips off any leading and trailing lines added by mailers, and recreates the original file with the
specified mode and name.
The intent is that all mail to the user ``decode'' should be filtered through the program. This way the file is created automatically
without human intervention. This is possible on the uucp network by either using or by making be a link to instead of In each case, an
alias must be created in a master file to get the automatic invocation of
If these facilities are not available, the file can be sent to a user on the remote machine who can uudecode it manually.
The encode file has an ordinary text form and can be edited by any text editor to change the mode or remote name.
Restrictions
The file is expanded by 35% (3 bytes become 4 plus control information) causing it to take longer to transmit.
The user on the remote system who is invoking (often must have write permission on the specified file.
See Alsomail(1), uucp(1c), uusend(1c), uux(1c), uuencode(5)uuencode(1c)