![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| UNIX for Advanced & Expert Users Expert-to-Expert. Learn advanced UNIX, UNIX commands, Linux, Operating Systems, System Administration, Programming, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Shell script to search for text in a file and copy file | imeadows | UNIX for Dummies Questions & Answers | 9 | 11-12-2008 09:12 PM |
| Copy text from a file from VI editor to Windows clipboard | zhshqzyc | UNIX for Dummies Questions & Answers | 13 | 08-07-2007 06:19 PM |
| I want to copy the text output from a 'nohup.out' file. | Iamthe great | UNIX for Dummies Questions & Answers | 3 | 05-01-2007 12:41 PM |
| appending string to text file based on search string | malaymaru | Shell Programming and Scripting | 1 | 06-09-2006 08:53 AM |
| find and copy string in a file | vascobrito | UNIX for Advanced & Expert Users | 10 | 03-03-2004 02:14 PM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
I am using the following command to email a tex file as an attachment-
cat mailtext.txt | elm -s "Subject" emailAddr where content of mailtext.txt is - "Body of email" [include foo.txt text/plain base64] This will attach foo.txt with the email. My problem is that the file foo.txt is ceated dynamically everytime with a timestamp. e.g. foo_<timestamp>.txt So if this filename is collected in a variable- sFileName = foo_<timestamp>.txt How do I include this filename dynamically in the mailtext.txt file? Any help would be appreciated. Thanks. |
|
||||
|
Use a HERE document and interpolate the value of a variable containing the file name.
Code:
elm -s "Subject" emailAddr <<HERE "Body of email" [include $sFileName text/plain base64] HERE |
|
||||
|
Thanks for the solution ...
I am providing this command in a C program. sprintf( cmd, "elm -s SUBJECT %s <<HERE \n %s \n [include %s text/plain base64] \n HERE ", emailAddr, sMailBody, sFileName ); This is sending the [include %s text/plain base64] part also in the email body along with the actual body text. And there is no file attached in the email. Could you please help me with this ??? |
|
||||
|
The <<HERE is a feature of the shell; you need to spawn a shell to get it working.
Code:
sprintf (cmd, "sh -c 'elm -s SUBJECT %s <<HERE\n" "%s\n[include %s text/plain base64]\nHERE\n'"l, emailAddr, sMailBody, sFileName); Couldn't you just open a pipe to "elm -s SUBJECT %s" with popen() and pipe in the content yourself, though? That's pretty much equivalent to using a HERE document. (And you avoild the pesky security considerations you always bump into when spawning a shell with user-supplied input.) If the file truly is text/plain, what's the benefit of encoding it in base64, by the way? |
|
||||
|
Googling for "popen examples" gets me e.g. popen
|
| Sponsored Links | ||
|
|