如何读取文本文件中的电子邮件地址并使用终端将电子邮件发送到这些电子邮件地址

如何读取文本文件中的电子邮件地址并使用终端将电子邮件发送到这些电子邮件地址

我是脚本新手。你们能帮助我了解如何从文本文件中读取电子邮件地址并向这些电子邮件地址发送电子邮件吗?

例如我有一个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

邮件(1)

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

相关内容