나는 시도한다:
- 하나의 이메일에 여러 파일을 첨부하세요.
- Gmail 계정을 사용하여 이메일을 보내고 제목 헤더에 현재 날짜와 시간을 포함하세요.
여러 이메일을 생성하고 싶지 않기 때문에 for 루프에 문제가 있습니다.난 그냥 모든 첨부파일이 포함된 이메일을 작성해요그리고제목 줄에 현재 날짜와 시간을 사용하세요..
#!/bin/bash
# to run type "bash email_live_listing.sh"
dt_now_start=`date +"%Y-%m-%d %T"`
fn_dt_now_start=`date '+%Y_%m_%d__%H_%M_%S'`; #use to generate file name with date
currentdir="$(pwd)" #get current directory
ls $currentdir/us*.pdf -tp | grep -v '/$fn_pdf' #place files into variable
echo "$fn_pdf"
ITER=0
for t in ${fn_pdf[@]}; do
swaks --to [email protected] -s smtp.gmail.com:587 -tls -au [email protected] -ap password --header "Subject: Updated file ${fn_dt_now_start}" --body "Email Text" --attach-type ./${fn_pdf} -S 2
let ITER+=1 #increment number
done
PS: 저는 우분투를 사용하고 있습니다왁스컴팩트하고 가벼우며,라즈베리 파이에서 실행됩니다, 하지만 다른 옵션을 시도해 볼 의향이 있습니다.
답변1
여기 내가 시작한 문제를 다른 사람들이 해결하는 데 도움이 될 수 있는 bash 스크립트가 있습니다.
#!/bin/bash
currentdir="$(pwd)" #get current directory
fn_dt_now_start=`date '+%Y_%m_%d__%H_%M_%S'`; #use to generate date time
fn_txt=$(ls $currentdir/*.txt) #place txt files found into a variable
for t in ${fn_txt[@]}; do
attach_files="${attach_files} --attach-type ${t}" #will build list of files to attach
done
swaks --to [email protected] -s smtp.gmail.com:587 -tls -au [email protected] -ap <email_sending_from_password>] --header "Subject: Listings - ${fn_dt_now_start}" --body "Listings Email Text" ${attach_files} -S 2