例如,如果我想发送一堆类似“X 感觉怎么样?”的电子邮件。到[电子邮件受保护](Quora 允许甚至有点鼓励我在那里提出高度相似的问题)。
然后给出一个我想要替换X的单词的字典?
我知道 mailx 自述文件有一小部分是关于如何使用脚本发送邮件
答案1
如果您的意思是通过 shell 执行此操作,那么是的,这是可能的。我们可能会有不同的结果,但操作与我之前编写的通过 shell 传递消息的结构类似。
看:http://www.akamay.net/PUBLIC/massmail.tar
该脚本使用三 (3) 个文件。
凭证文件 - 实际的配置文件。将其放入/tmp
HEAD_FROM="BSDUSER" # Mail from: HEAD_TO="${FIELD1[$a]}" # Rcpt to: HEAD_REPLY-TO="[email protected]" # Reply to :) HEAD_BCC-TO="[email protected]" # BCC to HEAD_SUBJECT="NOTICE - Personalize mass mail for ${FIELD3[$a]}" HEAD_PRIORITY="High" # Low / Medium / High HEAD_IMPORTANCE="3" # Importance HEAD_MIME-VERSION="1.1" # MIME Version HEAD_CONTENT-TYPE="text/plain" # Plain or HTML TEAM_CONTACT="[email protected]" # Signature @ EOF INTERVAL="2" # Sleep sec. per send
所有者文件 - 包含由“:”分隔的字段值的文件。
john:Tuesday:john:[email protected] sally:Wednesday:sally:[email protected] lisa:Friday:lisa:[email protected]
实际的群发邮件脚本。脚本很简单。它的作用是使用 for 循环与给定字段的值解析配置文件:field1,2,3 等。我所做的是从 CSV 文件中替换这些值,将其存储在带有正确值的可执行文本中格式化并通过管道将所有内容发送到 sendmail。
F1=`cat $2 | cut -d: -f1 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'` F2=`cat $2 | cut -d: -f2 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'` F3=`cat $2 | cut -d: -f3 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'` F4=`cat $2 | cut -d: -f4 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'` F5=`cat $2 | cut -d: -f5 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'` echo -e "#!/bin/bash" > $TMP/notify_exec echo -e "FIELD1=($F1)\nFIELD2=($F2)\nFIELD3=($F3)\nFIELD4=($F4)\nFIELD5=($F5)\n" >> $TMP/notify_exec echo -e "for ((a=0;a<\${#FIELD1[*]};a++))\ndo" >> $TMP/notify_exec echo -e "echo \"From:$C_F" >> $TMP/notify_exec echo -e "To:$C_T\nReply-to:$C_RT\nBcc-to:$C_BT\nSubject:$C_S\nPriority:$C_P" >> $TMP/notify_exec echo -e "X-Mail-Priority:$C_I\nMime-Version:$C_M\nContent-Type:$C_C\n$C_MSG\n\n\n" >> $TMP/notify_exec echo -e "Generated using: $0 - Got questions? E-Mail us at: $C_TM" >> $TMP/notify_exec echo -e "\" | /bin/sendmail -t -oi" >> $TMP/notify_exec echo -e "sleep $C_SL" >> $TMP/notify_exec echo -e "done\nexit 0" >> $TMP/notify_exec chmod +x $TMP/notify_exec
我在使用 mailx 进行自定义回复时遇到了一些问题,因此我改用 sendmail 来传递消息,效果很好。
答案2
这邮件合并扩展雷鸟应该可以解决这个问题。