Regarding help in sendmail command


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Regarding help in sendmail command
# 1  
Old 08-04-2016
Regarding help in sendmail command

Hello All,

I have a query here. I want to send an email by sendmailcommand in BASH. So email should have body(by reading a Input_file) in it as well as it should send same Input_file as attachment too. To do so I have tried as following.
Code:
sendmail_touser() {
cat - ${Input_file_HTML} << EOF | /usr/sbin/sendmail -oi -t
From: ${MAILFROM}
To: ${MAILTO}
Subject: $1
Content-Type: text/html; charset=us-ascii
cat ${Input_file_HTML}
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
Content-Disposition: attachment; filename: ${Input_file_HTML}
EOF
}

Above command is giving an email with only attachment of Input_file_HTML and it is not writing it in the body of email, could you please help/guide me on same. I am using outlook as email client.

Thanks,
R. Singh
# 2  
Old 08-04-2016
Code:
sendmail_touser() { 
cat - ${Input_file_HTML} << EOF | /usr/sbin/sendmail -oi -t 
From: ${MAILFROM} 
To: ${MAILTO} 
Subject: $1 
Content-Type: text/html; charset=us-ascii 
cat ${Input_file_HTML} 
Content-Transfer-Encoding: 7bit 
MIME-Version: 1.0 
Content-Disposition: attachment; filename: ${Input_file_HTML} 
EOF 
}

AFAIU the colored cat is not being evaluated. If you like to have it done, you should use command expansion

Code:
cat - <<EOF
...
$( cat ${input_file_HTML} )
...
EOF

input_file_HTML should be exported too, to be available in the subshell.

My E-Mail(roundcube) client does not display the mail as probably wanted. The header fields are shown as Mailbody.

Last edited by stomp; 08-04-2016 at 07:08 PM..
# 3  
Old 08-05-2016
Quote:
Originally Posted by stomp
Code:
sendmail_touser() { 
cat - ${Input_file_HTML} << EOF | /usr/sbin/sendmail -oi -t 
From: ${MAILFROM} 
To: ${MAILTO} 
Subject: $1 
Content-Type: text/html; charset=us-ascii 
cat ${Input_file_HTML} 
Content-Transfer-Encoding: 7bit 
MIME-Version: 1.0 
Content-Disposition: attachment; filename: ${Input_file_HTML} 
EOF 
}

AFAIU the colored cat is not being evaluated. If you like to have it done, you should use command expansion
Code:
cat - <<EOF
...
$( cat ${input_file_HTML} )
...
EOF

input_file_HTML should be exported too, to be available in the subshell.
My E-Mail(roundcube) client does not display the mail as probably wanted. The header fields are shown as Mailbody.
Hello stomp,

Yes, I have tried but still it is putting code as in form of text into email as follows.
Code:
Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Content-Disposition: attachment; filename: 
Input_file_HTML

So it is taking that code as a text and printing it before Input_file_HTML's data into email.

Thanks,
R. Singh
# 4  
Old 08-05-2016
Refer thread. If you don't have uuidgen assign a key value manually.
This User Gave Thanks to Yoda For This Post:
# 5  
Old 08-08-2016
Quote:
Originally Posted by Yoda
Refer thread. If you don't have uuidgen assign a key value manually.
Thanks a lot Yoda, I have used following and it sent email with attachment successfully too.
Code:
 export MAILPART=$(uuidgen)
export MAILPART_BODY=$(uuidgen)
{
        echo "From: from@domain.com"
        echo "To: chumma@chumma.com"
        echo "Subject: Testing kar reha waan main"
        echo "MIME-Version: 1.0"
        echo "Content-Type: multipart/mixed; boundary=\"$MAILPART\""
        echo "--$MAILPART"
        echo "Content-Type: multipart/alternative; boundary=\"$MAILPART_BODY\""
        echo ""
        echo "--$MAILPART_BODY"
        echo "Content-Type: text/html"
        echo "Content-Disposition: inline"
        cat $HTML_FORMAT
        echo "--$MAILPART_BODY--"
        echo ""
        echo "--$MAILPART"
        echo "Content-Type: text/plain; name=testCPUID3.txt"
        echo "Content-Transfer-Encoding: base64"
        echo "Content-Disposition: attachment; filename=$HTML_FORMAT"
        echo ""
        base64 $HTML_FORMAT
        echo "--$MAILPART--"
} | /usr/sbin/sendmail -t

I really appreciate your help on this. Could you please help me in following queries.
  1. When I read man sendmail, I couldn't get these options which we have used above to fix the problem. So could you please share URL or book from where you have referred the same.
  2. If in case uuidgen is not there for someone then which kind of values we should use, could you please put more light on same.
  3. In above could what values will be used for variables named MAILPART and MAILPART_BODY as we have assigned them to uuidgen?
  4. Also the attached $HTML_FORMAT is having username and server name in it too, how we could avoid it?

Will be grateful to you if you could help me on above points. Thank you for your help and guidance Smilie

Thanks,
R. Singh

Last edited by rbatte1; 08-08-2016 at 06:41 AM.. Reason: Added 4th query into the post now. - rbatte1 converted text numbered list to formatted numbered list
# 6  
Old 08-08-2016
1. Refer RFC 2045 (MIME)

2. Refer RFC1341 (Content-Type / Boundary)

3. Same as above

4. I am not sure what you mean by "having username and server name, how we could avoid it?"
This User Gave Thanks to Yoda 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

Sendmail command truncating to list

Hey Folks - I'm trying to pass a list of To address using sendmail command but upon executing the script the to list gets truncated and not able to send the last sender : -bash-4.3$ ./akt.sh Date : 03-JUL-18 aaaaa.sss#bgttecre.bom trcikant.shrivas#bgttecre.bom abc#xyz.bom pqr#lmn.bom lion... (0 Replies)
Discussion started by: vyomdev
0 Replies

2. Red Hat

-bash: sendmail: command not found

Hello Experts, I have been trying to send a test mail in our linux server with sendmail command.But I am getting command not found error message. -->when I tried whether sendmail installed or not with the command rpm -qa sendmail* I got the below, sendmail-cf-8.14.4-8.el6.noarch... (26 Replies)
Discussion started by: Devipriya Ch
26 Replies

3. Shell Programming and Scripting

Sending attachment using sendmail command

Send_Mail() { C_Date=`date +"%m/%d/%Y"` #Subject="MMDB Load Job Status" for i in `cat $Metafile` do if then email_address=`echo $i | cut -d":" -f2` /usr/lib/sendmail "$email_address" < $Email_File fi done } this is the send mail command i am using .please let me... (1 Reply)
Discussion started by: Alok K Yadav
1 Replies

4. AIX

How to send attachment using "sendmail" command or without uuencode command

Hi Guys, I dont have uuencode, mutt, base64 command available on my aix machine there is any alternative way to send file as attachement in mail. (1 Reply)
Discussion started by: ns64110
1 Replies

5. UNIX for Dummies Questions & Answers

Does the mail command use sendmail?

The question is, Does the mail comman actually send using sendmail or something else? So I am trying to test if sendmail is set up. I used... cat testemail.txt | mail -s "test mail" myemail@test.com I used my email though I didn't get an error, but didn't get the email either. ... (2 Replies)
Discussion started by: wondernate
2 Replies

6. UNIX for Dummies Questions & Answers

Sendmail command options question

Hello, I am trying to use sendmail with spesific usage I am trying to tail a file and send it from an address to my personal mail I am doing so with this command: tail -c 60000 test | sendmail -f sender@domain.com my@mail.com This is working great. I am trying to add this command a... (4 Replies)
Discussion started by: Amit86
4 Replies

7. UNIX for Advanced & Expert Users

Sendmail with attachment command line ?

hi.. Could somebody guide me how to send mail with attachment using sendmail command in unix ? Thank you, (2 Replies)
Discussion started by: bh_hensem
2 Replies

8. Shell Programming and Scripting

Command line problems with sendmail

I cannot get this shell script to work. The path to sendmail is correct... #!/bin/bash echo -e "Subject: email subject\n\nemailbody" | /usr/sbin/sendmail -F fromemail@somedomain.com -t recipientemail@somedomain.com (1 Reply)
Discussion started by: limmer
1 Replies

9. UNIX for Advanced & Expert Users

Sendmail command

Can anyone tell me? How can i attach the file using sendmail command? Give me one example. (2 Replies)
Discussion started by: kingganesh04
2 Replies

10. UNIX for Dummies Questions & Answers

sendmail command

Hi I am using the sendmail command for sending mails. I have a requirement where i call this sendmail command with the mail text.However this mail should be delivered to the recipients only 15 minutes later.Till that point of time it should be in the queue.Is it possible.If so what should i... (4 Replies)
Discussion started by: xsriniva
4 Replies
Login or Register to Ask a Question