저는 스크립팅이 처음입니다. 텍스트 파일에서 이메일 주소를 읽고 해당 이메일 주소로 이메일을 보내는 방법을 알아내도록 도와주실 수 있나요?
예를 들어 나는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