sed or awk removes attachment in email


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed or awk removes attachment in email
# 1  
Old 09-04-2019
sed or awk removes attachment in email

Hi

We have a requirement to send email using shell script.email should have html body and pdf attachment. We used uuencode for attaching files and sendmail option to acheive and it is working fine. However custoemr wants to make body of email slightly dynamic. E.g dear customer in html file should be Dear John .. html is currently static and we tried editing using sed , awk etc.

So when we edit the html file and replaced the string we are received body of email as expected but attachment is not there ,,when we just static html file it does work fine

Kindly suggest your inputs
# 2  
Old 09-05-2019
Hi Harish7586,

It's always best to post your actual code and text if you want help (so we are not guessing).

For example, here is a similar question asked at our forums:

html format email with attachment in unix

Notice how they actually post their code.

In your case, Hi Harish7586, you have not posted anything we can examine with our own eyes. So please post your code and text examples if you need assistance.


Thanks.
# 3  
Old 09-05-2019
Sed or awk removes attahcment in code

Code:
#!/usr/bin/ksh

parse_file()
{
["$*" = ""] && return
[ ! -f "$1"] && return
eval echo "\"$(cat $1 | sed '87s/Member/Harish R/g')\""
}

export MAILTO="abc@xyz.com"
export SUBJECT="Test PDF for Email"
export BODY="/export/user/abc.html"
export NEW_BODY="/export/user/temp_content.html"
export ATTACH="/export/use/file1.pdf"
export MAILPART='uuidgen' ## Generates Unique ID
export MAILPART_BODY='uuidgen' ## Generates Unique ID
export AWK=/usr/xpg4/bin/awk
#echo "sed -i '87s/Member/Harish R/g' "$BODY" > "$NEW_BODY""
cp $BODY $NEW_BODY
#cat "$NEW_BODY" |/usr/bin/awk -v awkfrom="Member" -v awkto="Harish R" '{gsub(awkfrom,awkto)}' > $NEW_BODY
#$(echo cat $NEW_BODY | $AWK -v awkfrom="Member" -v awkto="Harish R" '{gsub(awkfrom,awkto)}')
#sed -i '87s/Member/Harish R/g' "$BODY" > "$NEW_BODY"
(
 echo "From: $MAILFROM"
 echo "To: $MAILTO"
 echo "Subject: $SUBJECT"
 echo "MIME-Version: 1.0"
 echo "Content-Type: multipart/mixed; boundary=\"$MAILPART\""
 echo ""
 echo "--$MAILPART"
 echo "Content-Type: multipart/alternative; boundary=\"$MAILPART_BODY\""
 echo ""
 echo "--$MAILPART_BODY"
 echo "Content-Type: text/plain; charset=ISO-8859-1"
 echo "You need to enable HTML option for email"
 echo "--$MAILPART_BODY"
 echo "Content-Type: text/html; charset=ISO-8859-1"
 echo "Content-Disposition: inline"
 $(parse_file $NEW_BODY)
#cat $NEW_BODY
 echo "--$MAILPART_BODY--"
 
 echo "--$MAILPART"
 echo 'Content-Type: application/pdf; name="'$(basename $ATTACH)'"'
 echo "Content-Transfer-Encoding: uuencode"
 echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
 echo ""
 #uuencode -m $ATTACH $(basename $ATTACH)
 uuencode $ATTACH $(basename $ATTACH)
 echo "--$MAILPART--"
 
)| /usr/sbin/sendmail $MAILTO

Please find my code above. I tried editing the body html file. At the moment it works if we just give cat $NEW_BODY however when i edit the file using sed or awk then it fails to send attachment but content is as expected
# 4  
Old 09-05-2019
I suggest to you, for debugging purposes, that you pipe the output of your script to a file (or to standard out) instead of to the sendmail command.

Do this for both cases (with your awk or sed commands and without) and compare the two outputs.

Post back your results, and do not forgot to use code tags around your code and input/output text.

You will have a much easier time to debug if you look at the results of your script and compare the working and not working results, side by side, instead of just sending the output to sendmail.

That is what I would do.....
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk removes delimiter unexpectedly

datafile: blah,blah,blah,blah,blah,blah,blah,blah,blah=0_nblah=0-- ,blah,blah,blah im using the following command to turn the "_n" and "-- " to just a space " " only in the $9th field. meaning, it has to make the changes only in the 9th column/field of the datafile. awk -F, '{... (1 Reply)
Discussion started by: SkySmart
1 Replies

2. Shell Programming and Scripting

Attachment in email

I have a file in unix, while i do email that file to some one from unix, the attachment file data is displaying in the email. (as body of the email). but if the file has some special characters , the file is emailing as attachment. But i need the file as the body in the email if it has special... (1 Reply)
Discussion started by: nani1984
1 Replies

3. UNIX for Dummies Questions & Answers

Why awk removes delimiters?

Code : echo "1,2,3,4"|awk -F "," 'NR==n{$3=a}1' n=1 a=45 Output : 1 2 45 4 Expected : 1,2,45,4 (4 Replies)
Discussion started by: Rajesh_us
4 Replies

4. Shell Programming and Scripting

Sed: removes \ from text which causes issues

Hi all, Hoping someone hoping someone might be able to help. i've got the following sed command which i'm using in a bash script that i'm trying to use to insert a new line into an already existing file so i don't have to manually enter it when setting stuff up. the existing script test2/3 are... (3 Replies)
Discussion started by: springs2
3 Replies

5. Solaris

Sent an email attachment, but the attachment is empty

I'm trying to send a .zip file from my unix box to my work email (email client outlook) The file name that I'm trying to sent is sites.zip and this is how I do it: uuencode sites.zip | mailx -s "testing" myname@mydomain.com When I open the .zip, the zip is empty. Looking around the we, I... (17 Replies)
Discussion started by: amb1s1
17 Replies

6. UNIX for Advanced & Expert Users

perl/sed -i removes link

hello, is it a behavior of or that "-i" removes unix link . example : i create a file "src_file" and link it to "link_file" and then i start "perl -i" the link is removed. does another option exists to change content of a file without temporary files ? UNIX-Version: HP-UX and... (2 Replies)
Discussion started by: bora99
2 Replies

7. Shell Programming and Scripting

sed command removes lines in file

Hi, I am modifying a file with sed command. i want to make SCORE= blank in the file whereever SCORE=somevalue. What will *$ do in the below command? cat $file | sed 's/SCORE=.*$/SCORE=\r/g' > newfile The last line is also missing in the new file. How to make SCORE='100' to SCORE=... (5 Replies)
Discussion started by: ashok.k
5 Replies

8. AIX

Email with Attachment

Hi, I have .ksh file which internally calls a .sql file. This sql file writes a file with the result. I am using the following command to send email with the result file as attachment uuencode file.txt file.txt | mail -s "Subject" abc@abc.com. When i run the .ksh file i get a message you... (5 Replies)
Discussion started by: piyushprabhakar
5 Replies

9. UNIX for Dummies Questions & Answers

Email Attachment

Is there a way to send an email attachment? So far no where I've looked has given me any leads. (2 Replies)
Discussion started by: Cyro
2 Replies

10. UNIX for Dummies Questions & Answers

Email Attachment

Hi, I have 2 questions regarding sending mail as attachment. 1. Using mime type (From Oracle tools which reside on UNIX) When send the mail(txt file) as an attachment, on some servers like Hotmail, the email goes perfect as an attachment. But on some servers like yahoo, get embedded mail which... (2 Replies)
Discussion started by: prasad01
2 Replies
Login or Register to Ask a Question