非常によく似た電子メールを自動的に送信し、1つの単語を変更するにはどうすればよいですか?

非常によく似た電子メールを自動的に送信し、1つの単語を変更するにはどうすればよいですか?

たとえば、「X気分はどうですか?」など、複数のメールを送信したい場合は到着します。[Eメール保護](Quoraは私がそこで非常によく似た質問をすることを可能にし、ある程度推薦します)。

そしてXを置き換えたい単語辞書が与えられましたか?

私はmailx readmeに次の小さなセクションがあることを知っています。スクリプトを使用して電子メールを送信する方法

答え1

シェルを介してこれを行うという意味であれば可能です。結果は異なる場合がありますが、操作はシェルを介してメッセージを配信するために以前に作成した構造と似ています。

望むより:http://www.akamay.net/PUBLIC/massmail.tar

このスクリプトは3つのファイルを使用します。

  1. 資格情報ファイル - 実際の構成ファイル。 /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
    
  2. 所有者ファイル - ":"で区切られたフィールド値を含むファイル。

    john:Tuesday:john:[email protected]
    sally:Wednesday:sally:[email protected]
    lisa:Friday:lisa:[email protected]
    
  3. 実際の一括メーリングスクリプト。スクリプトはとても簡単です。それがすることは、与えられたフィールド(field1、2、3など)の値でforループを使用して構成ファイルを解析することです。私がしたことは、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

これメールのマージ拡張Thunderbirdはこの問題を解決する必要があります。

関連情報