BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

Macで一斉メール送信

同じ文面のメールをたくさん送りたい。っていう事態ってそこそこあると思うけど、Bccに列挙して、Toが自分のメアドになってるとかダサいじゃないですか。

これ系でMacでのソリューションってあまりないような気がする。WindowsではMail Distributorとか使ってたけど。海外製だと、えてして日本語の扱いが微妙だったりするし。あまり選択肢ないんですよね。

GUIはいらないので、自作してもたいしたことないと思ったので、Rubyで軽いのを作ってみました。メール本体のテキストファイルと、送信先CSVで書いて、コマンドでドーン。というシンプルなツールです。

Rubyで書いたので、とくにMac用というわけではないです。

GitHub miyamae/postman

まずSMTPサーバの情報を設定ファイル(config/application.yml)に書いておきます。

interval_ms: 1000
charset: iso-2022-jp

smtp_options:
  user_name: username@gmail.com
  password: password
  address: smtp.gmail.com
  port: 587
  domain: smtp.gmail.com
  authentication: plain
  enable_starttls_auto: true

送信先情報のCSVaddress.csv)を作ります。項目は任意で作れます。

email, name
katsu@example.com, 近藤 勇
toshi@example.com, 土方 歳三

メール本体(mail.txt)を書きます。

To: {{ email }}
From: Support <support@example.com>
Bcc: support@example.com
Subject: 新製品のお知らせ

{{ name }} 様

この度、新製品を発表しましたのでお知らせします。
ほんとよろしくお願いします。

--
Support <support@example.com>

で、ドーン!って送れる。

% postman deliver mail.txt address.csv

設定ファイルにcharset: iso-2022-jpと書いておけば、ISO-2022-JPで送れるところとかがちょっとこだわりポイントです。

添付ファイルには今のところ未対応。