muttを使用したコンソールからのお知らせ

最近、私は課題に直面しました。大学のすべての学生に調査へのリンクを含む数千の手紙を送る必要がありました。

大量メール送信の問題は、登録されたメールのリスト全体がCCフィールドに表示されることです。

この問題は、単純なmuttメールクライアントで解決しました。



Muttは、Unixライクシステム用のテキストベースの電子メールクライアントです。 もともと1995年にMichael Elkinsによって書かれ、GNU General Public Licenseの下でリリースされました。




まず、ユーザーのルートフォルダーに構成ファイルを作成する必要があります。



$ joe ~/.muttrc
      
      







ここで、私たちの名前と受信者に表示されるアドレスをプログラムに説明します。



realname = "John Smith"に設定

から設定= "jsmith@whitehouse.gov"

use_from = yesを設定します





その後、レター自体を作成する必要があります。



 $ joe ~/body
      
      







手紙自体は、もちろん、htmlで:



 <!DOCTYPE html> <html> <head> <meta http-equiv=«Content-Type» content=«text/html; charset=utf-8»> </head> <body> <p><font color="#2E7BE4"><em><strong>!</strong></em></font></p> <p align="justify">    , <strong><font color="#CA9E64">   ,      </font></strong>.      HTML       ,   ,    -,       (Outlook, Thunderbird  ..).</p> <p> <font color="#2E7BE4"><strong><i> </i></strong><br> </font> </p> </body> </html>
      
      







メーリングリストを含むファイルが必要になりました。リストと呼びましょう。



 $ joe ~/list
      
      







email@mail.com

email2@mail.com

...など




リストのサイズは任意であることは注目に値します。



すべての準備が整ったので、ニュースレター自体に移りましょう。



 $ for I in `cat list`; do cat body | mutt -e "set content_type=text/html" -a "attachment.pdf" -s " " -- $I < body;echo $I;sleep 3 ;done
      
      







このシンプルなbashスクリプトは、3秒ごとに(スリープ3-サーバーがスパマーと間違えないように)各アドレス(-$ I)に交互に(「cat list」のIの場合、cat bodyを実行します)メールを送信します( body)リスト(list)から添付したファイル(attachment.pdf)を取得し、作業の結果を表示します(echo $ I)。



コマンド「set content_type = text / html」は、レターをhtmlでフォーマットする必要があることを示しています。



それだけです。私の経験が役に立つことを願っています。



All Articles