生成包含不同文件内容的电子邮件

生成包含不同文件内容的电子邮件

我正在使用脚本为用户创建随机密码。
该文件看起来像

user1:password1
user2:password2
user3:password3

密码经过 openssl passwd 哈希处理。我有一个自己的文件,其中密码以明文形式写入。
不,我想用新密码向用户发送电子邮件。
我有一个文件(maillist.txt)

user1:[email protected]
user2:[email protected]
user3:[email protected]

现在我想生成一封电子邮件给 user1。
这应该会生成一封电子邮件至[电子邮件受保护],包含用户名 (user1) 和密码 (password1)。我想用mailx来做。
你能帮我么?

问候
马努 旧帖子

答案1

请尝试以下操作:

join -t: cleartext.txt maillist.txt | awk -F: '{ print "echo Username: "$1" Passwd: "$2" | mailx -s Information "$3 }' |sh

如果电子邮件正文需要多行,请参阅下文

#!/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

相关内容