4/6
Gmailの準備
通知メールを送るための Gmail アカウントを準備し、パスワードを PC に登録して、テストメールを送ります。
通知専用のアカウントを作る
普段使っているアカウントとは別に、通知専用の Gmail アカウントを作ることをおすすめします。このあと発行する「アプリパスワード」は、そのアカウントのメールを外部から操作できる強い権限を持つためです。専用のアカウントに分けておけば、万一 PC からパスワードが漏れても、普段のアカウントに影響が及びません。
作ったアドレスを、settings.ini の mail_from に書きます。
2段階認証を有効にする
アプリパスワードを発行するには、2段階認証が有効になっている必要があります。通知専用のアカウントで myaccount.google.com を開き、「セキュリティ」→「2段階認証プロセス」を開いて有効にします。
「再設定用の電話番号」の登録画面と取り違えやすいので注意してください。「2段階認証プロセス」の欄に「○時○分より有効」のように表示されれば、正しく設定できています。
アプリパスワードを発行する
myaccount.google.com/apppasswords を開き、アプリ名(例:dxcc_notify)を入力して作成します。表示される16文字は、画面を閉じると二度と表示されません。必ず控えておきます。
パスワードを PC に登録する
パスワードをファイルやコマンドに書くと、画面や履歴に残ってしまいます。そこで「環境変数」として PC に登録します。コマンドプロンプトで次のように入力します。16文字は、空白を入れずに続けて入力します。
setx DXCC_MAIL_PASS "16文字のアプリパスワード"
「成功: 指定した値は保存されました。」と表示されたら、コマンドプロンプトをいったん閉じて開き直し、次のコマンドで「登録OK」と表示されることを確かめます。このコマンドは、パスワードそのものを画面に表示しません。
if defined DXCC_MAIL_PASS echo 登録OK
テストメールを送る
cd /d C:\dxcc-pilot python dxcc_notify.py --test
約30秒後に、mail_to のアドレスに「[DXCC] テスト通知」が届けば成功です。
送信用と受信用を別のアドレスにする理由
自分から自分宛てに送ったメールは、スマートフォンの通知が鳴らない場合があるためです。
届かないとき
- 「アプリパスワードが見つかりません」と表示される:コマンドプロンプトを開き直してから実行したか、確かめてください。
- 「メールアドレスが設定されていません」と表示される:
settings.iniのmail_fromとmail_toに「<>」が残っていないか確かめてください。 - 送信のエラーが表示される:スクリプトは 465番と587番の2つの方法で送信を試みます。両方とも失敗する場合は、セキュリティソフトがメールの送信を止めていないか確かめてください。
ここまでの確認
- 「登録OK」と表示される。
- テスト通知がスマートフォンに届いた。