2019年1月29日火曜日

【備忘録】ウェブ版Gmailで差出人を○○@outlook.com (@hotmail.co.jp) で送信する方法

前提として、○○@outlook.com(Microsoftアカウント)を持っていることが必要です。
この手の情報はその時々によってやり方が変わったり、うまくいったりいかなかったりするので、2019年1月29日時点で試した方法を備忘録をこめてメモしておきます。

なお筆者はMicorosft アカウントに2段階認証を有効にしています。
そのため設定のパスワードは、別途生成する必要があります。

送信エラーになってしまう場合


※なお、msnメール(hotmail)のアドレスを使って、Gmail上で送信が出来ない(Gmailヘルプフォーラム)において、設定が完了して送信すると即座にエラーが返信されて送信できないケースがあるということでした。その場合には、エキスパートの方が回答されているように、○○@hotmail.co.jp 側に「不正なアクセスが有ったのではないかとマイクロソフトの通知メール」(件名:Microsoft account unusual sign-in activity)で届くということで、これに対して ○○@hotmail.co.jp 側のアクティビティ(http://go.microsoft.com/fwlink/p/?LinkId=529717 かな)の確認をすると送信できるようになったということです。

設定方法


1. https://account.live.com/proofs/manage/additional?mkt=ja-JP&refd=account.microsoft.com&refp=security にアクセスし、「新しいアプリパスワードを作成」




2. Gmailにログインし、設定 > アカウントとインポート > 「他のメール アドレスを追加」をクリック

3. ○○@outlook.com を入力し、送信設定は次を設定

サーバー名: smtp.office365.com
ポート: 587
ユーザー名:○○@outlook.com
パスワード:「1」で作成したアプリパスワード(2段階認証が無効だと、○○@outlook.com のパスワード)
暗号化:TLS




4. 確認メールが ○○@outlook.com 宛に届くのでURLをクリックして承認

これで、Gmailの設定 > アカウントとインポートの「名前」に
名前 <○○@outlook.com>
メールの経由サーバー: smtp.office365.com
TLS を使用したポート 587 でのセキュリティで保護された接続
ということで登録されました。




5. Gmailで新規作成し、差出人を○○@outlook.com に設定して、他のGmailにメールを送信




以上をすると、

https://outlook.com の○○@outlook.com アカウントの「送信済みアイテム」に、5で送信したメールが登録されます。





そして、ここに登録された直後ぐらいに、他のGmail に差出人 ○○@outlook.com からメールが届きました。




2019年1月29日 @kimipooh


2019年1月9日水曜日

【応用B】 Google Apps Script を使って、Gmail の未読迷惑メール一覧をメールで受信する


目的は、未読の迷惑メールについて定期的に読んでないものをチェックしたいというよなぁ、それって Google App Script で出来るんじゃない?でも検索しても出てこないぞっということでまとめてみることにしました。

実際の運用については、トリガーで定期的に実行することかなと思います。そのことも含めて全体的な流れは

のほうを参考にしてみてください。
以下は、上記リンクのSTEP2, STEP3のみ説明します。

Step 2. 作業フォルダを作成し、Google Apps Script を新規作成する


新規 > その他 > Google Apps Script を開きます。

コードサンプルは次の通りです。
をコピーして、開いた Google Apps Script エディタの中身を消して、ペーストしてください。そして一旦保存してください。名前はなんでもよいです。
ここでは、「checkUnreadSPAM」としています。

次に、
  • var SEND_TO = "[your e-mail address]";
について、送信先メールアドレスを入れてください。
  • var SEND_TO = "◯◯@gmail.com";
などです。
そして上書き保存してください。


STEP3. 手動実行による動作検証



上図の「再生」マークをクリックしてください。
最初の1度目は、Google Apps Script が Gmail等にアクセスする許可を聞いてきます。詳細 > 「○○プロジェクト(安全ではないページ)に移動 > 「許可」してください。




迷惑メールが多ければ多いほど時間がかかります。
また Google Apps Script は 6分を超える処理はできないので、大量の迷惑メールがあると処理ができないかもしれません。

うまくいけば、SEND_TOで指定したメールアドレス宛に


の件名で、下記のように
  • 年-月-日 時:分:秒  件名 (差出人)
というフォーマットで一覧表がメール本文に付与されます。
日時は JST(日本時間)です。


 このあたりのフォーマットを変更したいなら、

  • mailBody += '<li>'+spamMessage_dates+' '+spamMessage_subject+' - ('+spamMessage_from+')</li>';

あたりのコードなどをいじればよいです。JavaScriptの知識があればより複雑なことができるでしょう。

Appendix: 一度リスト化したメールは自動的に既読にしたい


毎回同じ一覧がでるのではなくて、一覧に出たもの以外をリストでメール受信するほうがいいという場合もあると思います。そうしたケースでは、

の方を使えば、一度処理したメールは既読にできるので、意図した通りの動きになります。ただ未読の迷惑メールがない場合も 0 件とメールします。
そのときに送信してほしくない場合には追加のコードが必要ですが、まぁいまのところそんな需要はない(面倒)なので気が向いたら作るかも知れません。

2019年1月9日 @kimipooh
2019年1月10日 修正