今回はニッチな内容です。Google Workspaceで作成したGoogleグループ(個人のメールアドレスではない)のメールアドレスにメールが届いたらSlackに転送させる方法のご紹介です。
調べると「個人のメールアドレスを転送させる方法」や「Slack for Gmailアプリを使った連携」という方法は出てくるのですが、Google Workspace側での「コンプライアンス機能」を利用した細かいフィルタリング条件での転送設定は出てきませんでした。また、ChatGPTに聞いても提案してくれない内容です。
当初、設定方法が全くわからず、公式のGoogleサポートに問い合わせて教えていただいた方法なので問題ないはず。「グループのメールアドレスに届いたメールをフィルタリングしてSlackの特定のチャンネルに転送させたい……。」と考えている場合はぜひご参考ください。
※Google Workspace、Slack共には有料契約が前提となります。
目次
Google グループのメールを転送させたい
冒頭でも書きましたが、今回ご紹介する方法は「個人のメールアドレス」ではありません。厳密には「個人のメールアドレス」に届くメールもGoogle Workspaceのコンプライアンス機能を使って転送できてしまうんですが、それは今回置いておいて。
あくまで「Googleグループで作った(個人に紐づかない)メールアドレスを転送させたい」というニーズに基づいた転送設定なのでご承知おきください。
グループに届くメールを全て転送という単純条件ならグループに追加すればいい
「グループに届いたらメールをSlackに転送させる」という単純な転送であれば、グループにメールアドレスを追加すればいいだけです。グループのアクセスタイプから「組織外のメンバーの許可」という設定があるので、ここを有効化してあげれば、Slackの特定のチャンネルで取得したメールアドレスを指定できるため1分で完了です。
条件を指定して転送させるにはコンプライアンス機能を利用する
ただし、今回は「条件を指定して」メールを転送させたい。例えば件名に特定の文字列が含まれていたり、送信元メールアドレスに指定したメールアドレスがあるメールのみ、といったフィルタリング条件です。これはGmailでは簡単にできますし、多くの解説ウェブページがすでにあります。しかし、今回は個人に紐づかないグループのメールアドレスのため、Gmailを利用せずに行いたいというのがあります。(細かく言うと、グループに含まれている個人のメールアドレスのGmailで転送設定をすればできはするものの今回の趣旨とは異なるため割愛します)
そこで、Google Workspaceの「コンプライアンス機能」を使います。
「なぜメール転送したいのにコンプライアンス?」と思いますよね?私も最初思いました。これ絶対呼び名が悪いと思うのですが、なぜか条件指定でのメール転送設定を行いにはこの「コンプライアンス機能」を使ってやるしかないというのがGoogleのルールです。
で、このコンプライアンス機能には「高度なコンテンツマッチ」の設定ができ、これにより件名に特定の文言が含まれているのを追加したり、送信元メールアドレスを指定したりできますし、さらに複数条件を全て満たす場合か、またはどれかの条件だけ満たしていれば良しとするかといった設定もできちゃいます。
さらにさらに、特定のIPやIP範囲を条件としたり、メールのサイズがいくつ以上だとか、SPFやDKIM認証をチェックしてパスしなかったメールを条件にしたりなど、高度な設定ができるのが魅力です。
公式ドキュメントに詳しく記載してありますので、気になる方は御覧ください。
管理者は、指定した 1 つまたは複数の表現と一致するコンテンツが含まれるメールを処理するためのルールを設定できます。このような高度なメール フィルタリングをコンテンツ コンプライアンスと呼びます。
たとえば、下記の設定が可能です。
高度なメール コンテンツ フィルタリングに関するルールの設定 – Google Workspace 管理者 ヘルプ
- 会社の機密情報が含まれている可能性のある送信メールを拒否する。たとえば、送信メールで「社外秘」という単語を検出する送信フィルタを設定します。
- メタデータの一致を特定の範囲の IP アドレスに設定して、範囲外の IP アドレスからのメールを検疫する。
- 特定のテキスト文字列やテキスト パターンと一致するコンテンツを含むメールを組織の法務部門に転送する。
Slackのチャンネルのメールアドレスを取得
コンプライアンスの設定をする前に、Slackの転送させたいチャンネルのメールアドレスを取得しておきます。今回はテスト用のチャンネル「Slack転送テスト」を作成しました。
作成したチャンネル名のプルダウンをクリックすると詳細画面が表示されるので、「インテグレーション」内の「このチャンネルにメールを送信する」をクリック。
その後表示される画面でメールアドレスを生成し、コピーします。(画面はすでに作成済みの場合)
後で使うので、取得したメールアドレスはテキストエディタ等に一旦ペーストしておきましょう。
コンプライアンス機能で高度なコンテンツマッチを作成
転送先のSlackのメールアドレスが取得できたので、Google Workspaceに戻ります。さあいよいよ転送設定です。
「コンプライアンス」をクリックするとコンプライアンス設定画面が表示されます。
画面ではすでに作成済みとなっていますが、最初はここに何もルールがない状態ですので、「コンテンツ コンプライアンス」からルールを設定していきます。ルールを追加をクリックするとモーダルウィンドウが表示され、詳細設定をしていきます。
まず設定するのは以下です。
- コンテンツ コンプライアンスの設定名: 今回はテストなので「Slack転送テスト」にしました。
- 「影響を受けるメール」: 「受信」「内部-受信」(この2つがどう違うのか公式ドキュメントにも乗ってないのでわからないのですが、公式サポートには2つにチェックしてくれと言われました)
- 条件: 「次のすべてがメールに一致する場合」に変更(条件次第で設定してください)
条件を追加するとまた新しいモーダルウィンドウが表示されます。具体的な条件として、「高度なコンテンツマッチ」に変更し、今回は「件名」が「Slack転送」に「等しい」場合としました。完了したら保存。
先程のモーダルウィンドウに戻って下の方にスクロールすると、「その他の配信先」とあるので、ここで作成しておいたSlackのメールアドレスを設定します。「追加」からメールアドレスを設定するのみ。
そして最後に重要な設定。モーダルウィンドウの最後の方に「オプションを表示」という箇所があるので、ここをクリックします。すると、「B. 影響を受けるアカウントの種類」というのが表示されるので、「グループ」にチェックが入るように設定しましょう。
これで設定は完了なので、保存します。保存後、数分で設定が反映されるとなりますが、だいたい10秒程度経てばすでに反映されていました。
Slack側で転送されるか確認
テストメールを送信してみて、無事Slack側に届いていれば完了!
もしメールが転送されない場合はログを確認
「転送設定したのにメールが届かない……。」
そんなときはログを確認しましょう。Google Workspaceの「メールログの検索」から確認できます。
今回はメールヘッダーに表示されるメッセージIDを元に検索しましたが、ヒットできれば検索方法は何でも構いません。
メール件名をクリックすると詳細画面に遷移します。ここでSlack宛のメールアドレスが表示されている箇所をクリックし、送信されているか確認。このケースでは「No Error」となっており正しくメールが送信されていることが確認できますね。
それでも届かない場合もある
メールログには正しく送信できているものの、Slack側にメールが届かないケースがありました。
その時は結論から言うと解決できず、高度なコンテンツマッチを利用せずに、グループに登録している個人のメールアドレスに届いたメールを転送させるためにGmailの転送フィルタを利用して解消しました。
どうにか解消したくてGoogleの公式サポートにも問い合わせたのですが、Google側はメールログにも送信成功しており、Slack側の問題という見解でした。直接グループのメールアドレスに送ると転送されるものの、外部のメールアドレスから送られるメールが転送されない、というよくわからない状態でした。
このときは色々とトライしたものの残念ながら解消せず……。上記の通り個人のGmail側でのフィルタ設定で転送することとしました。以前は動作していたメールだったため、送信元のメール送信ルール等が変わったことが影響していたのかもしれません。
Google Workspaceの高度なコンテンツマッチを利用して柔軟な転送設定を行う
今回ご紹介した内容を参考に、Slackへの転送設定の参考となれば幸いです。
また転送設定だけでなく、組織に届く様々なメールの管理を行うことができます。「コンプライアンス」いうだけあって、組織のメールアドレスに届く不要なメールや排除したいメールを受信者に届く前に処理することが可能です。
担当者はぜひ知っておきたい機能の一つに挙げられます。と言いつつも、私は転送設定をするまでこの機能のことは全く知りませんでしたし、転送設定をしたいときに探しても「コンプライアンス」という名称上、すぐにたどり着けずにいつも困っています 笑
他の使い方や活用方法などあればぜひコメント欄よりお知らせください!
コメントを残す