使用 bash 附加多个文件并使用 SWAKS 或其他程序通过电子邮件发送

使用 bash 附加多个文件并使用 SWAKS 或其他程序通过电子邮件发送

我试图:

  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 [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:我使用的是Ubuntu斯瓦克斯因为它结构紧凑、重量轻,并且将从树莓派运行,但我愿意尝试其他选择。

答案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

相关内容