Sendmail with HTML body and attachment code issues


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Sendmail with HTML body and attachment code issues
# 1  
Old 04-30-2015
Sendmail with HTML body and attachment code issues

Hi,

I was working on getting an HTML file in the mail body along with attaching a "csv" file to the mail.
Below are the 2 parts of the code.

I need help with the second part where I'm sending the mail. The HTML file as an attachment is perfect without any issues and with proper formatting.
The HTML file as a body however with the code below is creating extra block in the HTML table output seen int he mail body.

Other thing that comes int he body is the "boundary variable" at the end of the mail.

So the end of the mail is like below where you see "---asdfghjkl". I tried removing and adding the "---asdfghjkl" from the code and in various places and it had different results where sometimes the body doesn't display the HTML table and just in one line. Can you please help me get rid of the extra line there or can point out what I may be doing wrong? I referred to many code bases here but couldn't find a solution.

I'm working on AIX - 6.1.0.0

Code:
Thank You.
XZY Team.
---asdfghjkl

Code:
###############################################################################
### Code to create HTML 
###############################################################################
awk 'BEGIN{
        printf "<BR>"
        printf "<BR>"
        printf "<FONT SIZE=4><CENTER><B> XXXXX $DATE</B></CENTER></FONT>"
        printf "<BR>"
        FS=","
        print "<HTML><HEAD><TITLE> Table header </TITLE></HEAD><BODY><TABLE border = "4" BORDERCOLOR =BLACK cellpadding="2" ALIGN=CENTER WIDTH=100%>"
        print "<TR><TD width=90  ALIGN=CENTER> <B> Col 1 </B></TD>"
        print "<TD width=90 ALIGN=CENTER> <B> Col 2 </B></TD>"
        print "<TD width=90 ALIGN=CENTER> <B> Col 3 </B></TD>"
        print "<TD width=90 ALIGN=CENTER> <B> Col 4 </B></TD></TR>"
     }
     {
        printf "<TR>"
        for(i=1;i<=NF;i++)
          printf "<TD>%s</TD>", $i
        print "</TR>"
     }

     END{
        printf "<TR><TD></TD></TR></TABLE>"
        printf "<BR>"
        printf "<FONT SIZE=3><LEFT>additional comments.</CENTER></FONT>"
        printf "<BR>"
        printf "<FONT SIZE=3 COLOR=BLUE><LEFT>Thank You.</CENTER></FONT>"
        printf "<FONT SIZE=3 COLOR=BLUE><LEFT>XYZ Team.</CENTER></FONT>"
        printf "</BODY></HTML>"
     }' /tmp/test_file.dat > /tmp/test_file.html
     
###############################################################################
### Code to attach file and send mail with HTML
###############################################################################
export MAILTO="ABC@XYZ.com"
export SUBJECT="Mail Subject"
export BODY="/tmp/test_file.html"
export ATTACH="/tmp/test_file.csv"

(
 echo "To: $MAILTO"
 echo "Subject: $SUBJECT"
 echo "MIME-Version: 1.0"
 echo 'Content-Type: multipart/mixed; boundary="-asdfghjkl"'
 echo '---asdfghjkl'
 echo 'Content-Type: text/plain charset=US-ASCII; name="'$(basename $ATTACH)'"'
 echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
 echo '---asdfghjkl'
 cat $ATTACH
 echo '---asdfghjkl'
 echo "Content-Type: text/html charset=US-ASCII;"
 echo "Content-Disposition: inline"
 echo '---asdfghjkl'
 cat $BODY
 echo '---asdfghjkl'
) | /usr/sbin/sendmail $MAILTO     
###############################################################################

# 2  
Old 04-30-2015
How does the HTML you get, differ from the HTML in your code?
# 3  
Old 04-30-2015
Actual HTML file
HTML Code:
cat test_file.html
<BR><BR><FONT SIZE=4><CENTER><B>XXXXX</B></CENTER></FONT><BR><HTML><HEAD><TITLE> Title Header </TITLE></HEAD><BODY><TABLE border = 4 BORDERCOLOR =BLACK cellpadding=2 ALIGN=CENTER WIDTH=100%>
<TR><TD width=90  ALIGN=CENTER> <B> Col 1 </B></TD>
<TD width=90 ALIGN=CENTER> <B> Col 2 </B></TD>
<TD width=90 ALIGN=CENTER> <B> Col 3 </B></TD>
<TD width=90 ALIGN=CENTER> <B> Col 4 </B></TD>
<TD width=90 ALIGN=CENTER> <B> Col 5 </B></TD>
<TD width=90 ALIGN=CENTER> <B> Col 6 </B></TD>
<TD width=90 ALIGN=CENTER> <B> Col 7 </B></TD>
<TD width=90 ALIGN=CENTER> <B> Col 8 </B></TD>
<TD width=90 ALIGN=CENTER> <B> Col 9 </B></TD></TR>
<TR><TD>29-04-2015 10:30:32</TD><TD>4940</TD><TD>2734</TD><TD>0</TD><TD>0</TD><TD>358</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 09:30:29</TD><TD>10128</TD><TD>2248</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 08:30:36</TD><TD>0</TD><TD>0</TD><TD>284</TD><TD>35</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 07:30:31</TD><TD>3574</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 06:30:17</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>2091665</TD><TD>0</TD><TD>0</TD><TD>694</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 05:30:33</TD><TD>0</TD><TD>436</TD><TD>0</TD><TD>2090247</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 04:30:26</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>2089482</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 03:30:39</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>445</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 02:30:43</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 01:30:31</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>116</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>29-04-2015 00:30:43</TD><TD>799</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>907</TD></TR>
<TR><TD></TD></TR></TABLE><BR><FONT SIZE=3><LEFT>additional comments.</CENTER></FONT><BR><FONT SIZE=3 COLOR=BLUE><LEFT>Thank You.</CENTER></FONT><FONT SIZE=3 COLOR=BLUE><LEFT>XYZ Team.</CENTER></FONT></BODY></HTML>
HTML in the body

HTML Code:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br><br><font size="4"><center><b>XXXXX</b></center></font><br><html><head><title> Title Header </title></head><body><table border="4" BORDERCOLOR="BLACK" cellpadding="2" align="CENTER" width="100%">
<tr><td width="90" align="CENTER"> <b> Col 1 </b></td>
<td width="90" align="CENTER"> <b> Col 2 </b></td>
<td width="90" align="CENTER"> <b> Col 3 </b></td>
<td width="90" align="CENTER"> <b> Col 4 </b></td>
<td width="90" align="CENTER"> <b> Col 5 </b></td>
<td width="90" align="CENTER"> <b> Col 6 </b></td>
<td width="90" align="CENTER"> <b> Col 7 </b></td>
<td width="90" align="CENTER"> <b> Col 8 </b></td>
<td width="90" align="CENTER"> <b> Col 9 </b></td></tr>
<tr><td>29-04-2015 10:30:32</td><td>4940</td><td>2734</td><td>0</td><td>0</td><td>358</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>29-04-2015 09:30:29</td><td>10128</td><td>2248</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>29-04-2015 08:30:36</td><td>0</td><td>0</td><td>284</td><td>35</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>29-04-2015 07:30:31</td><td>3574</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>29-04-2015 06:30:17</td><td>0</td><td>0</td><td>0</td><td>2091665</td><td>0</td><td>0</td><td>694</td><td>0</td></tr>
<tr><td>29-04-2015 05:30:33</td><td>0</td><td>436</td><td>0</td><td>2090247</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>29-04-2015 04:30:26</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2089482</td><td>0</td><td>0</td></tr>
<tr><td>29-04-2015 03:30:39</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>445</td><td>0</td></tr>
<tr><td>29-04-2015 02:30:43</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>29-04-2015 01:30:31</td><td>0</td><td>0</td><td>0</td><td>0</td><td>116</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>29-04-2015 00:30:43</td><td>799</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>907</td></tr>
<tr><td></td></tr></table><br><font size="3"><LEFT>additional comments.</center></font><br><font size="3" color="BLUE"><LEFT>Thank You.</center></font><font size="3" color="BLUE"><LEFT>XYZ Team.</center></font></body></html>---asdfghjkl

Last edited by aster007; 04-30-2015 at 02:51 PM..
# 4  
Old 04-30-2015
Show me the HTML, all of it, what it should be and what it is. Not what it "looks like".
# 5  
Old 04-30-2015
Got the extra box removed by updating the HTML code
Code:
     END{
        printf "</TABLE>"
        printf "<BR>"

instead of

Code:
     END{
        printf "<TR><TD></TD></TR></TABLE>"
        printf "<BR>"

Still struggling with the extra "boundary" echo in the mail body.
# 6  
Old 04-30-2015
Try adding a newline before and/or after the --boundary line.
This User Gave Thanks to Corona688 For This Post:
# 7  
Old 04-30-2015
Got it resolved....updated the last peice of code to remove boundary and just have the "echo" as below

Code:
 cat $ATTACH
 echo '---asdfghjkl'
 echo "Content-Type: text/html charset=US-ASCII;"
 echo "Content-Disposition: inline"
 echo '---asdfghjkl'
 cat $BODY
 echo 
) | /usr/sbin/sendmail $MAILTO     
###############################################################################

This User Gave Thanks to aster007 For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need syntax for mailing in UNIX by using html file as body and along with attachment

Hi All, I need a syntax for mailing in unix by using html code file output as body and along with attachment (without using mutt command) HTML code file : html1.txt Attachment : attach1.txt I was using the below codes but they are not working. ( cat html1.txt ; uuencode attach1.txt... (4 Replies)
Discussion started by: Rokkesh
4 Replies

2. Shell Programming and Scripting

Sendmail cmd for html body and attachment not working

Hi, I am having trouble in sending a mail with html body and attachment (csv file). We don't have uuencode or mutt (not allowed to install as well) The below code is perfectly working for sending the html body alone: export MAILTO=abc@xyz.com export CONTENT="/home/abc/list.html"... (2 Replies)
Discussion started by: close2jay
2 Replies

3. Shell Programming and Scripting

Email body not formatted with html and sendmail

Hi All, I am trying to send the contents of a file as email body. I am using html email and sendmail option of unix. I am using the below piece of code for the same : #!/usr/bin/ksh export MAILTO="email@domain.com" export SUBJECT="Report" export BODY="file_directory_path/test_file.txt"... (1 Reply)
Discussion started by: rockygsd
1 Replies

4. UNIX for Dummies Questions & Answers

Sending mail in UNIX with body and attachment(.txt) using sendmail command

Hi All, In my .ksh script, I am sending an email with body and attachment (.txt) using sendmail command. I am able to receive the attachement along with the body of the mail. But I am getting special characters along with the content in the .txt. Also the alignment is incorrect. Can you please... (7 Replies)
Discussion started by: KRR
7 Replies

5. Shell Programming and Scripting

Issue to attachment with HTML body

HI Team, I used below code to get attachment with HTML body. i having21062013.csv file . but i am getting junk .csv file. Can you please help me out. export MAILTO=rp908@gmail.com.com export SUBJECT="Test Waiver Code email" export BODY=test.html export ATTACH=21062013.csv... (4 Replies)
Discussion started by: Jewel
4 Replies

6. Shell Programming and Scripting

Sendmail with HTML body and attachment

I have an HTML file I am currently sending in the body of an email. I now have a need to send a csv attachment along with it. I can ONLY use sendmail as mutt and xmail etc are not on the server. Here is what I am currently using: It is possible to add code to add an attachment ??!? { ... (8 Replies)
Discussion started by: atelford
8 Replies

7. Shell Programming and Scripting

Emailing html file as body not attachment

Hi All, I want to send the html file as message body not as an attachment. below is my code.it is printing the html code as it is in the email. your help is needed urgently. VTIER=$ROOTHOME/vtierlist2.txt genhtml=/$ROOTHOME/genhtml.html MAILTO=/$ROOTHOME/maillist SUBJECT="Vtier Usage... (6 Replies)
Discussion started by: amitbisht9
6 Replies

8. Red Hat

Send HTML body and HTML attachment using MUTT command

Hi there.. I need a proper "mutt" command to send a mail with html body and html attachment at a time. Also if possible let me know the other commands to do this task. Please help me.. (2 Replies)
Discussion started by: vickramshetty
2 Replies

9. Shell Programming and Scripting

Sendmail with html attachment and html body

Hi folks, I have a perl script which sends out email after successful completion of job as inline html, I want to send it out as two parts now as html inline and html attachment. see the attached script. Thanks in advance (1 Reply)
Discussion started by: sol_nov
1 Replies

10. UNIX for Dummies Questions & Answers

AIX send mail with HTML message body and a binary attachment

I'm trying to script sending an e-mail message on an AIX 5.x server with the following requirements: 1. command line switch to specify file name containing message body in HTML format 2. command line switch to specify file name of a binary attachment 3. command line or input file to specify... (4 Replies)
Discussion started by: G-Man
4 Replies
Login or Register to Ask a Question

Featured Tech Videos