Sponsored Content
Top Forums Shell Programming and Scripting Generate E-Mails with content on different files Post 302989067 by Corona688 on Friday 6th of January 2017 04:33:45 PM
Old 01-06-2017
Quote:
Originally Posted by Manu_H
I found another way..
How would this be (security`?)

Code:
#!/bin/bash
>tmp.txt
join -t: cleartext.txt maillist.txt | while read line
do
  echo $line
  USER=$(echo $line | awk -F: '{ print $1 }')
  PSWD=$(echo $line | awk -F: '{ print $2 }')
  EMAILID=$(echo $line | awk -F: '{ print $3 }')
  echo "Hello $(echo $USER | tr a-z A-Z), your password has been changed!!!<br>" >tmp.txt
  echo "<b>Username</b>: $USER<br>" >>tmp.txt
  echo "<b>Password</b>: $PSWD<br>" >> tmp.txt
  cat tmp.txt | mailx -s "$(echo -e 'Password Changed!!!\nContent-Type: text/html')" $EMAILID
done

USER is a special variable and should not have its value changed. Try something else, like USERID.

I think an HTML email is a bad idea as any < > & in passwords are liable to be eaten. You can work around that but it would be a lot of processing. (That's also the reason for read -r, incidentally - to prevent backslashes from being eaten.)

You don't need echo to put two lines into a variable. Just put a real newline inside the "" and it will contain a real newline, like
Code:
"Hello
World"

but again I don't think an HTML email is a good idea unless you want to get really fancy.

Most of that can be stripped down back into what I just gave you -- there's no need for all those awk's.

If your mailx supports -r, you can set the From: address. If it doesn't support -r, you can try mailx -a "From: Foo Bar <foo.bar@someplace.com>" ...

Otherwise, you may be out of luck.

Code:
join -t: cleartext.txt maillist.txt | while IFS=":" read -r USERID PSWD EMAILID
do
  echo $line
  mailx -r "my@email.com" -s "Password Changed!"  $EMAILID <<EOF
Hello $(echo $USERID | tr 'a-z' 'A-Z'), your password has been changed!
Username: $USERID
Password: $PSWD
EOF
done


Last edited by Corona688; 01-06-2017 at 06:00 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to generate a list of files

Hello people I need to find a way to generate a file that contains the names of all *.jpg files that were generated after a specific date The search should start in my current folder and recursively search inner folders It would be best to list the file names one below the other in the output... (3 Replies)
Discussion started by: jasongr
3 Replies

2. Shell Programming and Scripting

Help generate report from log files

Hi Expert, I have some confusing to generate report from the log file as shown below: filename :test1.log start_time date end_time number code P 000029.621 20070823 000029 12134567890 111111111111 00 0 000 003... (4 Replies)
Discussion started by: bucci
4 Replies

3. Shell Programming and Scripting

script to move files as they generate to another server ?

Im trying to come up with a way to automate moving logs as they generate from one server to another. Anyone have script or idea how most simply to get it done ? want to get this working so dont have to monitor and move these logs during the evening. Thanks for any ideas -Vinman (2 Replies)
Discussion started by: vinman
2 Replies

4. Shell Programming and Scripting

Generate a change list of files/dir

Is there a tool that can diff a directory and generate a change list of files in that directory based on a previous snapshot on the directory? For example /etc/a.txt:changed /etc/b.txt:removed /etc/c.txt:added Thanks! (1 Reply)
Discussion started by: overmindxp
1 Replies

5. Shell Programming and Scripting

Script to consolidate files as mails,groupid

Hi, I'm newbie in Bash scripting. Here is scenario I've a file which containslist of 100 mailgroup and in a directory i have 100 files with each group's respective mail addresses. I'd like to make one CSV file with this information as follows. consolidated files with mailid,groupname. ... (7 Replies)
Discussion started by: manish123456
7 Replies

6. UNIX for Dummies Questions & Answers

Generate list of deleted files

I copied all JPEGs from my laptop to an external drive using find . -name "*.jpg" -exec cp '{}' ./media/Backup/pictures \; And then deleted all of them from my laptop. Now, I realize that I need the folder path of all the original JPEGs as the path has the important information. I dont... (1 Reply)
Discussion started by: eshwaconsulting
1 Replies

7. Shell Programming and Scripting

Script for count files and send mails

Hi. I'm new on this forum and I need if possible someone to help me with one script. The script should act like this: - should be run by crontab and have next parameters: script_name $par1 $par2 $par3 $par4 where script will search in dir $par1 for files with mask $par2 and if number of... (2 Replies)
Discussion started by: atrailm
2 Replies

8. Shell Programming and Scripting

Merge files and generate a resume in two files

Dear Gents, Please I need your help... I need small script :) to do the following. I have a thousand of files in a folder produced daily. I need first to merge all files called. txt (0009.txt, 0010.txt, 0011.txt) and and to output a resume of all information on 2 separate files in csv... (14 Replies)
Discussion started by: jiam912
14 Replies

9. Shell Programming and Scripting

How to match in 2 files and generate 3rd file?

Hello, I have 2 tables (first file with colon separated, second file comma separated) like below: Please note that the matching number (kind of primary key) is a number and is NOT unique. It is 2nd column in table1 and 4th column in table2. # cat table1 vgbpjdata1:80 vgbpjdata2:50... (6 Replies)
Discussion started by: reddyr
6 Replies

10. UNIX for Beginners Questions & Answers

Umask to generate files with rwx permissions for all

i need my script1.sh to generate /tmp/temp.txt with full permissions i.e -rwxrwxrwx 1 user1 users 23 Dec 16 10:52 /tmp/temp.txtmore script1.sh umask 666 echo "hello">/tmp/temp.txt But the script1.sh generates temp.txt with different permissions as shown below. -rwxr-xr-x 1 user1 users... (6 Replies)
Discussion started by: mohtashims
6 Replies
ECHO(1) 						    BSD General Commands Manual 						   ECHO(1)

NAME
echo -- write arguments to the standard output SYNOPSIS
echo [-n] [string ...] DESCRIPTION
The echo utility writes any specified operands, separated by single blank (' ') characters and followed by a newline (' ') character, to the standard output. The following option is available: -n Do not print the trailing newline character. The end-of-options marker -- is not recognized and written literally. The newline may also be suppressed by appending 'c' to the end of the string, as is done by iBCS2 compatible systems. Note that the -n option as well as the effect of 'c' are implementation-defined in IEEE Std 1003.1-2001 (``POSIX.1'') as amended by Cor. 1-2002. For porta- bility, echo should only be used if the first argument does not start with a hyphen ('-') and does not contain any backslashes (''). If this is not sufficient, printf(1) should be used. Most shells provide a builtin echo command which tends to differ from this utility in the treatment of options and backslashes. Consult the builtin(1) manual page. EXIT STATUS
The echo utility exits 0 on success, and >0 if an error occurs. SEE ALSO
builtin(1), csh(1), printf(1), sh(1) STANDARDS
The echo utility conforms to IEEE Std 1003.1-2001 (``POSIX.1'') as amended by Cor. 1-2002. BSD
November 12, 2010 BSD
All times are GMT -4. The time now is 04:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy