GMailで転送する手段まとめ
社内で利用してるGoogle Workspace。その中で管理する側からすると厄介な使い方してるケースなどがあり、その過程の中であらゆる転送処理を調べる機会があったので、今回Google Workspaceのメールの転送系の処理をまとめてみることにしました。
運用する上での注意点や、ちょっとマイナーな内容なども含めています。転送と言っても、メールの返送時のFwdのお話ではなく自動転送をする処理についてのお話になります。
目次
今回利用する手段
メール転送と一口で言っても、目的に応じたいろいろな種類が存在し、管理をする上で望ましい方法とあくまでも個人レベルで使うものまで様々にあります。企業によっては情報漏えいの観点から特定の機能を封じたりする事もあります。エイリアスアドレスからの転送は出来ないので注意。
通常の転送手段
通常の自動転送設定
こちらは個人単位で設定できるメールの転送機能です。故に企業では情報漏えい防止の観点からこの機能を封じてるところも多数あります。設定手順は以下の通り。
- GMailの右上の歯車アイコンをクリック
- すべての設定を表示をクリック
- メール転送とPOP/IMAPをクリック
- 転送先アドレスを追加をクリックする
- 転送先アドレスを入力して、次へをクリック
- 続行をクリックする
- 転送が無効になってるので、転送を有効にして転送先を選択し、設定を保存をクリックする
- 転送先に承認するかどうかのメールが来るので、リクエストを承認する
この転送機能はグループアドレスに対しても転送をすることが出来ます。
図:転送無効がデフォなので有効にしましょう
フィルタを使った転送
こちらは個人単位で設定できるメールの転送機能です。メールフィルタを利用して「特定のメール条件にヒットしたものを転送してしまう」ものです。設定手順は以下の通り
- 適当なメールを開く
- 上部のアイコン群の「︙」をクリックしてメールの自動振り分け設定をクリック
- 条件を色々と書き込んで、フィルタを作成をクリック
- 次のアドレスに転送するにチェックを入れる
- フィルタを作成をクリック
- この設定は右上の歯車→フィルタとブロック中のアドレスの中に記録されています。
こちらもグループアドレスに対しての転送が可能となっています。
図:条件を付けて転送したい場合に使用する
アドレスマップを使ったメール転送
こちらはadmin.google.comにて設定出来る無いようなので、管理者しか設定することの出来ない項目です。基本的には社内で休職者が出た場合にその内容を上長が受け取って漏れを無くす目的で利用するのが主たる利用目的なので、個人で設定する内容では有りません。以下の手順で設定することが可能です。
- admin.google.comにログインする
- 左サイドバーからアプリ→Google Workspace→Gmailを開く
- ルーティングを開き、受信者アドレスマップを使用したメール転送を開く
- 設定をクリックする
- 説明文を入力する
- 追加をクリックする
- 転送元アドレスと転送先アドレスを入力する
- 対象となるメールを選択する
- 保存をクリックする
こちらもグループアドレスに対して転送は出来ますが、全ての項目が対象となるメールの制約を受けることになるので注意。
図:管理者のみが設定できる項目です
転送っぽい手段
こちらの手段は転送と言うよりも、他のアカウントのメールを他の人も見られるし返信まで出来るようになるといった機能だったりします。故にGMailだけでなくYahooメールをGmailで受信したりすることも出来ます。ただし会社で利用する場合個人管理となってしまうため、これを会社の複数メンバーで利用してといった使い方は非推奨です(ましてや、共有アカウントと称して1つのメアドを用意して全員で見るというやり方は、ライセンス違反でもあります)。
他のアカウントを横取り
今回は別のGmailアカウントから横取りしてみます。
- 別のGMailアカウントの右上の歯車アイコンをクリック
- すべての設定を表示をクリック
- メール転送とPOP/IMAPをクリック
- POPダウンロードの項目の中で、「すべてのメールで POP を有効にする」を有効化
- 変更を保存する
- 読み込み先のGmailアカウントの右上の歯車アイコンをクリック
- アカウントとインポートをクリックする
- メール アカウントを追加するをクリック
- 読み込み元のメールアドレスを入れる
- ユーザ名とログインパスワードを入れる
- アカウントを追加をクリック
これで読み込み先で読み込み元のメールを自身のメールボックスにインポートをするので事実上転送で見られるようになるという仕組みです。グループアドレスを指定することは出来ません。
図:読み込み元設定
図:読み込み先設定
メールの委任
この機能はちょっと特殊な機能で自身のメールの内容を他の人に委任してメールを読んだり代理で送信させたりが出来るようになる機能です。よって、その人宛に来たメールは、追加してある委任先の人のメールボックスにもToがなくとも届くようになりますが、個人管理となってしまうため、管理者はその設定の存在を把握できなくなるため、会社で使うのは推奨しません。故にメールの委任設定でオフにしてあるケースが多いです。
当然ながらグループアドレスを指定することは出来ません。読みたい人全員を追加が必要ですが、最大1000人までしか追加できませんし、同時利用は40人と制限付き。(通常のGoogleアカウントだと最大10人)
- GMailの右上の歯車アイコンをクリック
- すべての設定を表示をクリック
- アカウントとインポートをクリックする
- アカウントへのアクセスを許可の項目の別のアカウントを追加をクリック
- アクセスするGoogleアカウントを入力して次のステップへ
- メールを送信してアクセスを許可をクリックする
- 相手が承認してから有効になるまで最長で24時間掛かる
こちらは設定次第(ユーザーが自分のメールボックスへのアクセス権を Google グループに付与できるようにする)でグループアドレスでも受信は可能になってるようです。
図:別のアカウントを追加することが可能
バウンスメールについて
バウンスメールとは、メールを送信したら送信先が無かったであったり、相手先のメールサーバから跳ね返ってくるMailer Daemonのエラーメールの事を指します。このバウンスメールですが、基本的に前述のメールの転送で転送することはできないだけでなく、グループアドレスに対して転送も出来ません。送信元のメールボックスにしか返ってこない仕様になっています。
よって、例えば1つのメールボックスを複数名がアクセスするような設定にしていると、そのメールボックスに直接アクセスしない限り誰もエラーメールを確認する事ができなくなってしまいます。Outlookと異なりGoogle Workspaceには共有メールボックスという機能が無く(グループアドレスにある共同トレイというのはあるけれど・・・)。これを理由にGWSの採用を見送ってる企業も多いです。
さて、このバウンスメールなんとか転送できないか?となると、利用するのがGoogle Apps Script。メールボックスを監視し、条件にヒットしたメール内容を取得してGASでメールとして再度転送したい先に新規メールで送信を自動化することで対応することが可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
function getBounceMail() { //未読メールを対象にする let label = 'is:unread'; let threads = GmailApp.search(label, 0, 50); for (var i = 0 ; i < threads.length; i++) { //メールスレッドを取得する let msg = GmailApp.getMessagesForThread(threads[i]); //メール内容を取得して判定する let flg = ""; let flg2 = ""; let mailman = false; for (var j = 0; j < msg.length; j++) { //subjectを取得する let subject = msg[j].getSubject(); let flg = subject.indexOf("Delivery Status Notification"); //fromを取得する let fromman = msg[j].getFrom(); let flg2 = subject.indexOf("Mail Delivery Subsystem"); //本文を取得する let body = msg[j].getPlainBody(); //判定する if(flg == -1 || flg2 == -1){ //転送しない }else{ //転送する MailApp.sendEmail({ to: "転送先メールアドレス", subject: 'エラーメールだよ', name:"メールが送信出来ませんでした。", body:body, }); } } // スレッドを既読にする threads[i].markRead(); } } |
- 未読のものだけを対象にします。
- 単純にメアドやサブジェクトにエラーメール特有のタイトルがある場合はヒットさせてメール転送させてしまいます。
- 全てのメールは既読にしてしまい、次回検索時に負担にならないようにしています。
- このスクリプトを時間トリガーにて5分単位で監視して実行するようにセットしておきます。