Email

使用 bash 附加多個文件並使用 SWAKS 或其他程序通過電子郵件發送

  • December 5, 2019

我試圖:

  1. 將多個文件附加到一封電子郵件中。
  2. 使用 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 to@gmail.com -s smtp.gmail.com:587 -tls -au from@gmail.com -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:我正在使用 Ubuntu 和Swaks,因為它小巧輕便,並且可以從 raspberry pi 執行,但我願意嘗試其他選項。

這是一個 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_going_to@gmail.com -s smtp.gmail.com:587 -tls -au email_sending_from@gmail.com -ap <email_sending_from_password>] --header "Subject: Listings - ${fn_dt_now_start}" --body "Listings Email Text" ${attach_files} -S 2

引用自:https://unix.stackexchange.com/questions/551368