我正在使用脚本为用户创建随机密码。
该文件看起来像
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