我是脚本新手。你们能帮助我了解如何从文本文件中读取电子邮件地址并向这些电子邮件地址发送电子邮件吗?
例如我有一个emailAdd.txt
在该 txt 文件中:
[email protected]
[email protected]
[email protected]
我想向这些电子邮件发送“Hello World”。这只是一个例子,我需要发送到大约 30 个电子邮件地址。
答案1
file=/path/to/emailAdd.txt
while read -r email; do
printf '%s\n' 'Hello, world!' | mail -s 'This is the email subject' "$email"
done < "$file"
这将循环遍历 txt 文件中的每一行,并将email
变量设置为整行(这只是示例数据中的电子邮件地址)。它将打印Hello, world!
并将其发送到每封带有主题的电子邮件This is the email subject
。
mail
请注意,从/ mailx
/发送的电子邮件sendmail
通常会被您的电子邮件垃圾邮件过滤器捕获。
答案2
这取决于您在 CLI 上使用的电子邮件客户端。至于循环 emailAdd.txt,您可以使用 for 循环来完成此操作。您可以在此网站上找到如何使用五种不同的方式发送 CLI 电子邮件:
https://tecadmin.net/ways-to-send-email-from-linux-command-line/
然而,这里有一个可以按照您的要求进行操作的示例:
#/bin/bash
file="/path/to/emailAdd.txt"
while read -r line
do
sendmail $email < /path/to/email.txt
done < "$file"
email.txt
可以设置如下:
Subject: Hello World
Email Content Hello World