04-26-2005
Sending email with text & attachment using mailx
I spent some time working this out, with a little help from various forums, and thought the community would like to know :
Here is how you can send an email from a single Unix command line :
/usr/bin/echo "Email text\nNew line\nAnother new line" >x | uuencode sourcefile.txt sourcefile.txt | cat x - | mailx -s "Email subject" -r "reply@to.com" "recipient@company.com"
Breakdown :
- /usr/bin/echo : I use /usr/bin/echo because it consistently handles embedded control characters like \n (newline)
- >x : The echoed text is saved in file "x" for use by "cat"
- uuencode : This takes the file and generates it as a MIME-encoded attachment. The output (encoded file) is piped to "cat"
- cat : Concatenates the echoed text to the encoded file. Cat takes the contents of file "x", appends the output from uuencode and pipes them to "mailx"
- mailx : Sends the email. -s is the subject text, -r is the reply-to email address, followed by the recipient's email address. The contents of the email come from the output of "cat"
This command does leave behind a file called "x". You may want to delete this file later. You could save it in /var/tmp, if the contents aren't sensitive.
This works for me on Solaris (SunOS 5.6). I believe it should be fairly portable to other environments.
If you want to include HTML in the text part of the email, you can include "Content-Type: text/html" in the echoed text, followed by your HTML code.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi, I am trying to include a message along with an attachment with an email using mailx on AIX.
uuencode Test.dat Test.dat| mailx -s 'Testing' mymail@yahoo.com < MESGFILE
This only gives me the contents of MESGFILE as my message.
If I remove the < FILE I recieve the attachment.
What... (4 Replies)
Discussion started by: edog
4 Replies
2. Shell Programming and Scripting
Hi,
I have tried to sent a mail with body and attachment. But the shell script got hanging while executing that command. The command is
"(cat body;uuencode att1.csv)|mailx -s "Production Monitoring Report(Unix Side)" milton.yesusundaram@patni.com"
where body is a file having a single line.... (2 Replies)
Discussion started by: miltony
2 Replies
3. Shell Programming and Scripting
Hi All,
I am trying to send a mail with an attachment and message. Following command I am using.
(cat <messagefile> ; uuencode <attachmentfile> <attachmentfile>)|mailx -s"Subject" dave@email.com
In the received mail, message body is appearing fine. But attachment is not coming. Rather... (2 Replies)
Discussion started by: nihar.dutta
2 Replies
4. Shell Programming and Scripting
Hi
I want to sent attachment file which is 400mb size.(single file, not tar file)
is there any way that these kind of large files can be divided into small sizes and sent as attachments
thanks with anticipation (3 Replies)
Discussion started by: karthikn7974
3 Replies
5. Shell Programming and Scripting
As a part of requirement I need to send out mails with attachment from UNIX. I have to take query the Oracle DB and send the result of the query in an attachment through mail.
I use the following script for the same.
#!/bin/csh
#!/bin/bash
#!/bin/ksh
ATTFILE=/folder1/test.xls
cd... (1 Reply)
Discussion started by: Sgiri1
1 Replies
6. Shell Programming and Scripting
Hi,
I want to send an email with multiple attachment using uuencode and mail command.
I am able to send with one attachment
Ex:uuencode abc.txt abc.txt | mail test@test.com -s "Test3"
Can anyone reply with syntax.
Regards
BS (3 Replies)
Discussion started by: balajiora
3 Replies
7. Shell Programming and Scripting
Hi,
We have been trying to send mail with attachment and it is going fine, but when we try to attach a text to the body of the email, we find that the mail is going fine with the body text but the attachment is not going through. We are using ksh.
The command that is successfull without the... (6 Replies)
Discussion started by: jmathew99
6 Replies
8. Shell Programming and Scripting
Hi,
Please help me in sending an e-mail with attachment through unix
mailx command is not present in our unix box. (4 Replies)
Discussion started by: dudd9
4 Replies
9. Shell Programming and Scripting
Hi,
I am trying to send email with attachment using mailx command. I am using the folowing command:
uuencode XX_HWSW_BUYERWISE_88963631_1.xls XX_HWSW_BUYERWISE_88963631_1.xls | mailx -s "Test Mail as Attachment" oracleams@xyz.com
I get the email in the inbox. However, when I try to open the... (5 Replies)
Discussion started by: asp_julius
5 Replies
10. UNIX for Beginners Questions & Answers
Hello, I am new to the Unix thing, and I am having trouble sending attachments via shell client putty through mailx.
The command I use is
$ mailx -s "Subject" user@blah.com < attachment.txt
but everytime I do that it would say Cannot open attachment.txt
I have the file save to my computer... (5 Replies)
Discussion started by: mrobin20
5 Replies
LEARN ABOUT OSF1
uudecode
uuencode(1) General Commands Manual uuencode(1)
NAME
uuencode, uudecode - Encodes or decodes a binary file
SYNOPSIS
uuencode [file] remotefile
uudecode [file...]
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
uudecode: XCU5.0
uuencode: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
DESCRIPTION
The uuencode and uudecode commands are used to send a binary file via uucp or other mail. This combination can be used over indirect mail
links even when uusend is not available.
The uuencode command takes the named 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 name for re-creation on the remote system, specified by
remotefile.
The uudecode 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. Filter the encode through the uudecode program. Filtering the file causes the original file to be auto-
matically recreated. This is possible on the uucp network by using sendmail or by making rmail be a link to mailx. In each case, an alias
must be created in a master file to get the automatic invocation of uudecode.
If neither of the preceding facilities is available on a user's system, uudecode can be applied to the file manually by editing the file
with any text editor, removing the trailing and leading lines, and changing the mode or remote system name. The encoded file is an ordinary
text file.
EXAMPLES
In the following example, the ex1 file is encoded; the output is also redirected to the ex1.out file: prompt> uuencode ex1 ex1.en > ex1.out
If the source ex1 file is as follows:
This example shows how to encode a file using uuencode and how to decode a file using uudecode.
The encoded ex1.out file would be as follows:
begin 644 ex1.en M5&AI<R!E>&%M<&QE('-H;W=S"G1H92!H;W<@=&@96YC;V1E"F$@9FEL92!U
M<VEN9PIU=65N8V]D90IA;F0@:&]W('1O"F1E8V]D92!A(&9I;&4*=7-I;F<@ *=75D96-O9&4N"F]D ` end In the following example, the ex1.out file is
decoded: prompt> uudecode ex1.out
In this example, the uudecode command decodes the file and puts the output in ex1.en. To package up a source tree using tar, com-
press it, uuencode it, and mail it to a user on another system, enter: tar cf - src_tree | compress | uuencode src_tree.tar.Z |
mail sys1!sys2!user1
(Enter the command entirely on one line, not on two lines as shown above.)
When uudecode is run on the target system, the src_tree.tar.Z file is created; it may then be uncompressed and dearchived with tar.
SEE ALSO
Commands: ct(1), cu(1), mailx(1), Mail(1), rmail(1), sendmail(8), tip(1), uucico(8), uucleanup(8), uucp(1), uulog(1), uuname(1),
uupick(1), uusched(8), uusend(1), uustat(1), uuto(1), uux(1)
Standards: standards(5)
uuencode(1)