Se você quer dizer fazer isso via shell, então sim, isso é possível. Podemos ter um resultado diferente em mente, mas a operação é semelhante a essa estrutura que escrevi anteriormente para entregar a mensagem via shell.
Veja: link
O script usa três (3) arquivos.
-
Arquivo de Credencial - O arquivo de configuração atual. Coloque em / 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
-
Arquivo do Proprietário - O arquivo que contém os valores do seu FIELD separados por um ":".
john:Tuesday:john:[email protected] sally:Wednesday:sally:[email protected] lisa:Friday:lisa:[email protected]
-
O script de mensagens em massa real. O roteiro é simples. O que ele faz é analisar o arquivo de configuração usando um loop for com o valor dos campos indicados: field1,2,3 etc. O que eu fiz é substituir esses valores do arquivo CSV, armazená-los em um texto executável com o valor correto. formate e canalize tudo para o 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
Eu tive alguns problemas com o uso do mailx em relação à resposta personalizada, então eu mudei com o sendmail para entregar a mensagem e ela funciona bem.