こんにちは、SEタケです。
kintoneでメールの自動送信をしたい。そういうことはありませんか。
毎回毎回、同じテンプレのメールを、コピペ、送信、コピペ、送信・・
めんどくさいですね。
レコードを保存したときに自動でメール送信してくれたらいいのに・・
そういうとき、kmailerというプラグインが使えます。
kMailer – kintone(キントーン)連携サービス (kintoneapp.com)
kmailerには、kintoneアプリのレコードを保存したタイミングで、指定した内容のメールを自動送信してくれる機能があります。
送信するメールの件名や本文に、レコード内の値を埋め込むこともできますし、
送信する条件を細かく指定できますので、レコード内の値やステータスでメールを出し分けすることもできます。
とはいえ、kmailerも万能ではありません。
もう少しこうだったらいいのにな、と思うところはあります。
私もある企業に導入したことがありますが、一部要望にお応えできないことがありました。
その経験を共有したいと思います。
この記事では、kmailerの特徴や、できることできないこと、
また、kmailerが適しない場合にとれる他の手段として、Azure や Power Automate を使った方法も紹介します。
メール自動送信を検討している方や、kmailerを使っているけど、すこし使いづらいな、と思われている方は、読んでみてください。
kmailerで、できること
kmailerは、kintoneからメールを送信するプラグインです。
kinoneのメール送信機能は、kintoneのユーザー宛に、レコードが更新されたときなどの通知メールを送る、というものはありますが・・
それ以外はプラグインなどを利用する必要があります。
kmailerを利用すると、以下のようなことができます。
- kintoneアプリの、レコードに登録されているメールアドレス宛にメールを送る
- メールの件名や本文に、レコードの値を埋め込む
- kintoneアプリ上で、テンプレートを指定してメールを送る
- レコードの追加/更新時に、自動でメールを送る
- レコードの日付フィールドから計算して、指定した時間や日数後にメールを送る
- メール送信後に、レコードの値を更新する
例えば、「送信先メールアドレスを入力して保存したときに一度だけメールを送りたい」場合は、下記のような手順で実現できます。
- 「送信先メールアドレス」のテキストフィールドと、「送信済み」のチェックフィールドを用意
- 「送信先メールアドレス」入っていて、かつ「送信済み」がチェックされていない場合にメールを送信
- 送信後に「送信済み」にチェックを入れる
例えば、簡易的なステップメールとして使用することもできます。
- フォームからkintoneアプリに登録するように作成
- レコード追加時に登録完了メールを送信
- 登録された日から、1日後、2日後、にステップメールを送信
他にも工夫次第でいろいろな活用方法がありそうですね。
kmailerで、できないこと
送信元メールアドレスを、メールによって使い分けできない
送信元メールアドレスは、kmailerの契約ごとに1つしか指定できません。
仕入れメールは仕入れ担当者のメールアドレスから、販売メールは販売担当者のメールアドレスから送信したい、
普通ありますよね。
でも、そういうことはできないんです・・
意外な制約で、まさかと思いました。
1つのメール送信設定内で、条件による定型文の出し分けはできない
同じメールだけど、条件によって、件名や本文の一部だけを差し替えたい、
そういうことは結構あると思うんです。
例えば、会議の連絡メールで、オンラインの場合は「zoomのurlを別途連絡します」、対面の場合は「事務所にお越しください」、という定型文をメールに入れたい場合などです。
1つのメール送信設定内では実現できませんので、
代替案としては、それぞれのメール送信設定を用意して、送信条件で出し分けするという方法があります。
先ほどの例では、オンラインと対面でそれぞれのメール送信設定を用意する、ということです。
ですが、ここで少し困ったことがあります。
kmailerは、メール送信設定ごとにWebhookのURLが用意されます。
Webhookは、kintoneアプリから外部システムへ連携する仕組みですが、
実はkintoneアプリ毎に10件までしか設定できないんです。
メール送信設定のパターンが増えると、Webhookの設定数が、すぐにいっぱいになってしまいます。
また、Webhookには送信回数にも上限があります。
kintoneのドメインごと(つまり契約ごと)に、1分間に60回までしか送信されません。
それ以上は、Webhookが送られない(無視される)、ということです。
1アプリのレコード更新で10件のWebhookを設定していたとすると、そのアプリのレコードを更新するたびに10件送られるわけですから、
そんなアプリが3つもあると、これもすぐ1分間の送信上限に達してしまいますね。
なるべくメール本文を工夫するなどして、Webhookの使用数が少なくなるようにするしかありません。
送信条件の指定で、ANDとORを組み合わせはできない
どういう条件でメールを送信するかを設定する際、
「すべての条件を満たす」「いずれかの条件を満たす」を選べるのですが、
この2つを組み合わせることはできません。
例えば、AまたはB、かつ、CまたはD、という条件(すみません、いい例が思いつきませんでした)などは、作成できないということです。
代替案としては、下記が考えられます。
- メール送信設定を増やして対応(AまたはBの条件のメールと、CまたはDの条件のメールに分ける)
- kintoneアプリに補助的なフィールドを追加して、条件をシンプルにする(Webhookの上限に注意が必要)
レコード更新前の情報をメールに含めることはできない
kmailerでは、メールの件名や本文に、kintoneアプリのレコードの値を含めることはできますが、
使用できるのは、レコード更新後の値だけです。
例えば、あるフィールドがAからBに変わりました、というような本文は作成できません。
関連するアプリやレコードの値をメールに含めることはできない
kmailerで参照できるkintoneアプリのレコードは、
1つのメール送信設定につき、対象となる1アプリの1レコードだけです。
下記の情報をメール本文に含めたり、条件に指定することはできません。
- レコード内のルックアップなどで参照している、他アプリのレコードの値
- 同じアプリの別レコードの値や、件数など
例えば、あるアプリ(例:販売アプリ)にレコードを追加したとき、条件(例:納品待ち)に合致するレコード件数が一定数を超えたら送信、というようなことはできないということです。
kmailerの代替案
これまで説明した通り、
メール送信のバターンが多かったり、条件が複雑だったりする場合は、kmailerでは実現できないこともあります。
そういう場合は、どうすればいいのか・・
代替案の一つとして、Azure Logic Apps または Power Automate を使用する、というものがあります。
Azure Logic Apps や Power Automate は、プログラムコードを書かずに、マウス操作で比較的簡単に処理を作成できるサービスです。
kmailerより難易度は上がりますが、あらゆる処理が作成できますので、使えるようになれば、メール送信以外にもあらゆることが可能になります。
集計処理、SNS連携、カレンダー連携、Web会議予約、AI活用・・など、何でもできます。
他のプラグインを導入する必要がほとんどなくなるくらい、です。
プログラムを組むほどではないけど、わりとITは使いこなせるよ、
という自信のある方は、一度試してみられてはどうでしょうか。
Azure の無料アカウントを今すぐ作成 | Microsoft Azure
Power Automate | Microsoft Power Platform
メール送信のサンプルは、こちらの記事を参照ください。
最初から自分ではちょっと無理かな・・と思われた方、
お手伝いいたします。
以上、
結構ややこしい内容だったかもしれませんが、
最後までお読みいただき、ありがとうございました。
コメント