Office 365 (Microsoft 365) や、 OutlookのWebメールで、常に特定のメールアドレスにBCCしたい (いわゆる Always BCC) 需要があった。
Chromeの拡張機能を使うと簡単に実装できそうなのでやってみた。Chromeの拡張機能の作り方は以下のサイトを参考にしてほしい。
ここの manifest.json
と content-script.js
の書き方だけ紹介する。
manifest.json
の書き方
Office 365用とOutlookのWebメールのアドレスを設定する。
{ "manifest_version": 3, "name": "Always BCC to Office 365 web mail", "version": "1.0.0", "description": "マイクロソフトのWebメールでBCCに常にメールアドレスを設定する拡張機能", "content_scripts": [{ "matches": ["https://outlook.office.com/mail/*","https://outlook.live.com/mail/*"], "run_at": "document_end", "all_frames": true, "js": ["content-script.js"] }] }
content-script.js
の書き方
Office365 または OutlookのWebメールのBCCのクラスは ODMpk
なので、それを取得してその中の EditorClass
クラスを取得してテキストを bcc@address.address
に書き換える。メールアドレスは各自のアドレスに書き換えて欲しい。
いちおう動くことは確認したが、筆者のJavaScriptの経験が浅いので作法が合ってるか不安である。
'use strict'; const countWords = () => { const address = document.querySelectorAll('div.ODMpk'); if (address.length == 1) { let content = address[0].querySelectorAll('div.EditorClass'); if (content.length == 1) { if (content[0].innerText == "") { content[0].innerText = "bcc@address.address"; console.log("OK"); } } } }; // ページ読み込み後に実行するよう設定 window.addEventListener('load', () => countWords(), false); // 入力があったら実行するよう設定 window.addEventListener('input', () => countWords());
この2つのファイルを作成し、同じディレクトリに保存しておく。
Chromeから chrome://extensions/
を開き、デベロッパーモードをONにする。「パッケージ化されていない拡張機能を読み込む」から上記2つのファイルのあるディレクトリを指定すると、拡張機能として読み込まれる。
拡張機能を読み込み後、Webメールを開き、どこかのテキストボックスへ入力すると、BCCが空の場合は content-script.js
で設定したメールアドレスが自動的に入力される。
BCCの欄が自動で表示されない場合は、メールの「作成と返信」設定からメッセージ形式の「BCCを常に表示する」にチェックを入れておく。