私はスクリプトが初めてです。テキストファイルから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)
mail
mailx
//から送信された電子メールは通常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