テキストファイルから電子メールアドレスを読み、端末を使用してその電子メールアドレスに電子メールを送信する方法

テキストファイルから電子メールアドレスを読み、端末を使用してその電子メールアドレスに電子メールを送信する方法

私はスクリプトが初めてです。テキストファイルからEメールアドレスを読み、そのEメールアドレスにEメールを送信する方法を理解するのに役立ちますか?

たとえば、emailAdd.txt

このtxtファイルから:

[email protected]
[email protected]
[email protected]

このメールで「Hello World」を送りたいです。これは単なる例であり、約30のEメールアドレスに送信する必要があります。

答え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)

mailmailx//から送信された電子メールは通常sendmail、電子メールスパムフィルタによってフィルタリングされます。

答え2

これは、CLIが使用するEメー​​ルクライアントによって異なります。 emailAdd.txtを繰り返す場合は、forループを使用してこれを実行できます。このウェブサイトでは、5つの方法を使用して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

関連情報