我正在使用Mutt做我的第一步(在Slackware 13.1中使用msmtp )。
我已经可以用这样的附件发送邮件:
cat mail.txt | mutt -a "/date.log" -a "/report.sh" -s "subject of message" -- myself@gmail.com我想定义附加在另一个文件中的文件,然后告诉Mutt读取它,如下所示:
mutt -? listoffilestoattach.txt有可能吗?还是有类似的方法?
发布于 2015-11-18 14:41:21
您可以相当容易地使用文件名列表填充数组,然后将其用作-a的参数。
while IFS= read -r attachment; do
attachments+=( "$attachment" )
done < listoffilestoattach.txt
for f in ../*.log; do
attachments+=("$f")
done
mutt -s "subject of message" -a "${attachments[@]}" -- myself@gmail.com < mail.txt如果您使用的是bash 4或更高版本,可以用(稍微)交互式更友好的readarray命令替换while循环:
readarray -t attachments < listoffilestoattach.txt如果像看起来那样,mutt每个-a选项只需要一个文件,那么您就需要做一些稍微不同的事情:
while IFS= read -r attachment; do
attachments+=( -a "$attachment" )
done < listoffilestoattach.txt
for f in ../*.log; do
attachments+=( -a "$f")
done
mutt -s "subject of message" "${attachments[@]}" -- myself@gmail.com < mail.txt使用readarray,尝试
readarray -t attachments < listoffilestoattach.txt
attachments+=( ../*.log )
for a in "${attachements[@]}"; do
attach_args+=(-a "$a")
done
mutt -s "subject of message" "${attach_args[@]}" -- myself@gmail.com < mail.txthttps://stackoverflow.com/questions/33782416
复制相似问题