Macで簡易メルマガ配信システムを無料で作る!Automator&AppleScriptでメール一括送信[ダウンロード有]
改訂
Macでメールを一括送信するプログラムを作りましょう。お金はかかりません。使うのはMacに元から入っているもの、それにほんのちょっとの手間と知識だけです。
この記事は初出が2013年で、2019年7月17日に改訂しました。初出はMac OS X Lionのころ、現在はMojaveですが、まだ使えています。
目次
メール一括配信プログラムのメリットとは
何十人かの顧客や知り合いにメールを一斉送信したいとき、ってありますね。たとえばちょっとしたパーティをするから来て!とか、セミナーをやるからどうですか?とか。
Cc/BccはさすがにNGよ!
ただそんなとき、メールソフトのCc機能でやっちゃうのはほんとうにやめてください。受け手からすると知らない人にもメールアドレスを知られるわけで、気持ち悪いことこの上ない。
じゃあBccならいいよね?!って思うかもしれないけど、誤操作はそのうち「絶対に」発生します。間違えてToやCcに入れてしまいアドレス流出!!みたいなことは官公庁や大会社でも毎年誰ぞやらかしています。
CcやBccで送っていいのは、顔の見える間柄でなおかつ4,5人まで。
無料メルマガの代わりに
じゃあどうしたら?数十人単位でわざわざ有料システムを契約するの?ということでMacで自作しました。
たとえばビジネスでは、お客様へのお知らせとか、小規模メルマガのようなものとして使えます。100件くらいまでならたぶん問題ないです。
プライベートだとLINEとかメッセージツールでいいじゃん?という場面も多いけど、少し人数が多くなってくると全員繋がってなかったりして結局メールのほうが確実、というときに使えたりします。
必要なもの
- Mac
- Automator
- 連絡先.app
- メール.app
つまりMacに元から入っているものだけ。Automatorを知らない人のために説明しとくと、Macのいろんな操作を自動化できるアプリです。ファイルの名前を一括で変えられたりもするので知っておくと便利ですよ。
ダウンロードはこちら
メール一括送信.workflow.zip
238kB
MacOS Mojaveで作成。利用に関して一切の責任を負いませんので理解の上使ってください。
自分で作ってみたいわ!仕組みをちゃんと知りたいわ!という人はこのあとの作り方解説も読んでみてね。
「メール一括送信.workflow」の使い方
最初に一度、自分や家族のアドレスでグループを作ってテストしてみることをおすすめします。
1.連絡先.appにグループを作り、選択
まずは連絡先を開いて、送信先にするカードをグループに登録します(グループを新しく作るには、ファイル > 新規グループ)。
そしてグループが選択された状態にしておきます。
2.ワークフローを起動
メール一括送信.workflowをダブルクリックでAutomatorで開かれます。実行ボタンを押します。
3.メールの内容を記入
ダイアログが出ますので、そこに記入します。
- 送信先……自分のメールアドレスを記入します。
- 件名、本文……先にメモ帳などで作っておいてコピーするのでもOKです。
- アカウント……送信元アカウントを選びます。
4.メールを送信
メールが送信されて完了です。
いきなり送信じゃなくしたい、というかたは.workflowをほんのちょっと改造すればOKです。このあとの作り方解説を読んでください。
おまけ : アプリケーション形式で保存しておくと便利
ワークフロー形式のファイルだけど、アプリ形式に保存し直して使うこともできるよ(Automatorで開いて→ファイル>変換→アプリケーション)。こうすると、使うときにいちいちワークフローの画面が開かれない。ただし初回にいくつかのダイアログが出るので「OK」する必要があります。
作り方
各部の解説
「メール一括送信.workflow」をAutomatorで開くと、アクションが並んでいます。それぞれどんな作業をしているのか。
確認
ダイアログメッセージ。わかりやすくするためのおまけ。
新規メールメッセージ
メールを作る。「オプション > 実行時にこのアクションを表示」で入力ウインドウを出すようにできます。
変数の値を設定
さっき作ったメールを変数に入れます。あとで加工するためです。
選択された連絡先〜取得
連絡先を取得します。グループから個人を取る、の2段階にしています。
変数の値を取得
さっき作ったメール。このあとのAppleScriptに渡すため。
AppleScriptを実行
メールを人数分コピーして宛先をセット、という動作をさせています。わざわざここだけプログラムを書く必要があったのは諸事情により、で後述します。
送信メッセージを送信
待機しているメールを送信します。
ちょっとした改造
メールをいきなり送信でなくするには
最後のアクション「送信メッセージを送信」を削除しておきます。こうするとメールは自動で送られずに残ります。自分の手で一通ずつ送信ボタンをポチポチしていきましょう。
宛名付きのメールにしたい
AppleScript部分を調整すれば可能です!
on run {input, parameters}
set theMail to (item (count of input) of input)
repeat with i from 1 to (count of input) - 1
set contact to item i of input
set theAddress to ""
--変更箇所(1)
set forString to ""
tell application "Contacts"
set theAddress to value of first email of contact
--変更箇所(2) 宛名をセット
if last name of contact is not equal to missing value then
set forString to last name of contact & "様
" --改行を入れました。
end if
end tell
tell application "Mail"
set theContent to content of theMail
set theSubject to subject of theMail
--変更箇所(3) 本文に宛名をつける
set theContent to forString & theContent
set newMessage to make new outgoing message with properties ¬
{subject:theSubject, content:theContent, visible:true}
tell newMessage to make new to recipient at end of to recipients with properties ¬
{address:theAddress}
end tell
end repeat
return input
end run
もっとやるなら、宛名をつけるかどうかのダイアログを出してYesならつける、みたいなことも変数を工夫したらできますね。
もうちょっとくわしく知りたい人へ
メール一括送信の他のやり方や応用など。
他のやり方[1] Automatorの「グループメーラー」(これはイマイチ)
Automatorに「グループメーラー」というアクションがセットされています。これは簡単なアクションの組み合わせで作れて一見便利だけど、使えない。わざわざAppleScriptを入れたのはこれが理由です。
何がどう使えないか。このアクションには宛名をつけるオプションがあるのだけど、英語の名前前提で、しかも外すと本文がカラになってしまうのです。くわしくはこちらで。
[Mac] Automatorの「グループメーラー」はなんかおかしい – クリエイター丙他のやり方[2] 連絡先.appで「グループにメールを送信」(これもイマイチ)
Macでメール一括送信の方法がもうひとつあります。連絡先にグループを作って、右クリックすると「グループにメール送信」という操作ができます。これはちゃんと送れるけど、送信元が独特なアドレスになってしまうので迷惑メール扱いが心配。なのでおすすめしづらい。
ビジネス向け : 効果測定してPDCA回す
仕事で使いたいかたへ。じつはメール配信ってもっと本気でビジネスに役立てていくこともできます。送信したあとのお客様の反応を測定して次のキャンペーンに活かしたりとか。まめにやれば本当に売上も伸びます。
でもそれにはもちろんこんな自作のなんかじゃなくって有料システムとコンサルタントを使ってください。