Amazonタイムセール会場  楽天タイムセール会場
スポンサーリンク

メールをラインに転送する方法! iPhone/AndroidのGmailを自動でLINEに通知しよう

スポンサーリンク
スポンサーリンク
LINE
スポンサーリンク
スポンサーリンク

もしGmailのアイコンGmailに届くメールを、自動でLINEアプリのアイコンLINEへ転送できたら便利ですよね。

本記事では、Google Apps ScriptのアイコンGAS(Google Apps Script)とLINE Notifyを連携させて、新着メールをLINEに届ける仕組みを紹介します。

本記事の内容は、iPhone・Android両方に対応しています。ただ事前の設定作業はパソコンでの操作がオススメです。
以前までならIFTTTアプリのアイコンIFTTT(イフト)という自動化アプリと連携すればカンタンに実現できましたが、2019年3月末でサポート終了となったため、現在では対応していません。参考 IFTTT – Gmailサービスとの連携終了について

photo by Pixabay

 

スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク

Gmailの新着メールをLINEに自動転送する方法

説明の流れ
  • 手順①
    LINE Notifyのトークンを取得する
  • 手順②
    Google Apps Scriptを設定する
  • 手順③
    Google Apps Scriptにデータへのアクセス権を付与する
  • 手順④
    Gmail→LINEの自動転送を検証する
  • 手順⑤
    Google Apps Scriptのトリガーを調整する
  • 参考
    メール本文も含めLINEに転送する方法
  • 参考
    Gmail以外のメールもすべてLINEに通知する方法

手順①:LINE Notifyのトークンを取得する

メールを通知させたいLINEアプリのアイコンLINEアカウントで、LINE Notifyのトークンを発行します。

【LINE Notifyとは?】外部Webサービスと通知連携させるLINE公式サービスのこと。使用料金は無料。IFTTTやGAS(Google Apps Script)など、様々なサービスと連携できる。参考 LINE Notify – ヘルプ

まずLINEアプリのアイコンLINEアカウントのID・パスワードを確認して下さい。

LINE Notifyのトークンを取得する手順1

“設定” → “アカウント” よりID(メールアドレス)とパスワードを確認できる。

次にLINE Notify公式ページで、ログイン よりLINEアプリのアイコンLINEアカウントを入力し、

LINE Notifyのトークンを取得する手順2

マイページ を開きます。

LINE Notifyのトークンを取得する手順3

「アクセストークンの発行(開発者向け)」項目にて、トークンを発行する をクリック。

LINE Notifyのトークンを取得する手順4

スマートフォンからアクセスしている場合、ブラウザの設定で表示形式を「PC向け」へ変更しないと、トークンを発行する が表示されません。

「トークン名」と「メールの通知を受け取るトークルーム」を選択します。

「トークン名」は何でもOKですが、メールがLINEアプリのアイコンLINEへ通知される際のタイトルに表示されるため、分かりやすい&短い単語がオススメです。

「トークルーム」は既存のグループトークを選ぶこともできますが、個人で受け取るだけなら「1:1でLINE Notifyから通知を受け取る」でよいでしょう。

LINE Notifyのトークンを取得する手順5

「トークン名」と「トークルーム」を選択できたら、発行する をクリック。

LINE Notifyのトークンを取得する手順6

トークンが発行されます。

1度しか表示されないため、コピーしましょう。

LINE Notifyのトークンを取得する手順7

手順②:Google Apps Scriptを設定する

新着メールをLINEアプリのアイコンLINEに届ける仕組みを、Google Apps ScriptのアイコンGAS(Google Apps Script)で設定します。

まずGoogle Apps ScriptのアイコンGAS(Google Apps Script)へアクセスして、LINEアプリのアイコンLINEへ転送したいGmailのアイコンGmailアドレスのアカウントでログインします。

Google Apps Scriptを設定する手順1

新規スクリプト を開きます。

Google Apps Scriptを設定する手順2

デフォルトで下記コードが入っていますが、削除の上、

function myFunction() { 
}

Google Apps Scriptを設定する手順3

下記コードをコピペします。

var lineToken = "xxxxxxxxxxxxxx"; //LINE notify token
var get_interval = 5; //●分前~現在の新着メールを取得 #--トリガーの時間間隔をこれに合わせる


function send_line(Me){
 var payload = {'message' :   Me};
 var options ={
   "method"  : "post",
   "payload" : payload,
   "headers" : {"Authorization" : "Bearer "+ lineToken}  
 };
 UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}


function fetchContactMail() {
 //取得間隔
 var now_time= Math.floor(new Date().getTime() / 1000) ;//現在時刻を変換
 var time_term = now_time - ((60 * get_interval) + 3); //秒にして+3秒しておく
 
 //検索条件指定
 var strTerms = '(is:unread after:'+ time_term + ')';
 
 //取得
 var myThreads = GmailApp.search(strTerms);
 var myMsgs = GmailApp.getMessagesForThreads(myThreads);
 var valMsgs = [];
 for(var i = 0; i < myMsgs.length;i++){
  valMsgs[i] = " " + myMsgs[i].slice(-1)[0].getDate().getMonth() + "/"+ myMsgs[i].slice(-1)[0].getDate().getDate()
  + " " + myMsgs[i].slice(-1)[0].getDate().getHours() + ":" + myMsgs[i].slice(-1)[0].getDate().getMinutes()
  + "\n[from]" + myMsgs[i].slice(-1)[0].getFrom()
  + "\n\n[subject]" + myMsgs[i].slice(-1)[0].getSubject();
 }

 return valMsgs;
}

function main() {
 new_Me = fetchContactMail()
 if(new_Me.length > 0){
   for(var i = new_Me.length-1; i >= 0; i--){
     send_line(new_Me[i])
   }
 }
}

引用元 note – 親玉Gmailの新着通知をLINEで受け取る(by GAS)

Google Apps Scriptを設定する手順4

なお、手順①で取得したLINE Notifyのトークンを、コード1行目の部分に書き換えるのを忘れずに。

var lineToken = "xxxxxxxxxxxxxx";

メニュー ファイル保存 より、コードを保存します。

コードを保存する際、「Project Name」の入力が求められますが、何でもOKです。

Google Apps Scriptを設定する手順5

Google Apps ScriptのアイコンGAS(Google Apps Script)で設定するコードは以上です。

手順③:Google Apps Scriptにデータへのアクセス権を付与する

Google Apps ScriptのアイコンGAS(Google Apps Script)がGoogleアカウントのデータへアクセスできるよう、初期設定が必要です。

スクリプト画面内で 関数を選択 より main へ切り替え、

Google Apps Scriptにデータへのアクセス権を付与する手順1

▶実行をクリックすると(初回のみ)次のメッセージが表示されます。

Authorization required
●●(プロジェクト名) needs your permission to access your data on Google.

画面に従って 許可を確認 へ進み、

Google Apps Scriptにデータへのアクセス権を付与する手順2

次の警告メッセージが表示されますが、詳細 をクリック。

このアプリは確認されていません
このアプリは、Googleによる確認が済んでいません。
よく知っている信頼できるデベロッパーの場合に限り続行してください。

Google Apps Scriptにデータへのアクセス権を付与する手順3

隠れていた「●●(安全ではないページ)に移動」リンクを開き、

Google Apps Scriptにデータへのアクセス権を付与する手順4

許可 をクリックすればOK。

Google Apps Scriptにデータへのアクセス権を付与する手順5

手順④:Gmail→LINEの自動転送を検証する

Google Apps ScriptのアイコンGAS(Google Apps Script)が機能するか検証しましょう。

テストメールをGmailのアイコンGmailで受信した後、スクリプト画面内の▶実行をクリックして下さい。

Gmail→LINEの自動転送を検証する手順1

GmailのアイコンGmailに届いたテストメールが、LINEアプリのアイコンLINEに転送されていれば成功です!

Gmail→LINEの自動転送を検証する手順2

手順⑤:Google Apps Scriptのトリガーを調整する

Google Apps ScriptのアイコンGAS(Google Apps Script)のスクリプト画面で▶実行をクリックせずとも、一定時間ごと自動起動するような設定をします。

メニュー 編集現在のプロジェクトのトリガー より、

Google Apps Scriptのトリガーを調整する手順1

トリガーを追加 へ。

Google Apps Scriptのトリガーを調整する手順2

次の内容でトリガーを 保存 します。

  • 実行する関数:main
  • 実行するデプロイ:Head
  • イベントのソース:時間主導型
  • 時間ベースのトリガーのタイプ:分ベースのタイマー
  • 時間の間隔:5分おき

Google Apps Scriptのトリガーを調整する手順3

これでGoogle Apps ScriptのアイコンGAS(Google Apps Script)のスクリプトが、5分おきに自動起動(=5分おきにGmailのアイコンGmailの新着メールをLINEアプリのアイコンLINEに通知)するようになりました。

もし時間間隔を調整したい場合、スクリプト2行目(var get_interval = ●;)の数字を修正の上、トリガー内「時間の間隔」もこの数値に合わせて下さい。

参考:メール本文も含めLINEに転送する方法

もしGmailのアイコンGmailに届いた新着メールの本文まで含めLINEアプリのアイコンLINEに通知したい場合、Google Apps ScriptのアイコンGAS(Google Apps Script)のスクリプトを下記へ変更して下さい。

var lineToken = "xxxxxxxxxxxxxx"; //LINE notify token
var get_interval = 5; //●分前~現在の新着メールを取得 #--トリガーの時間間隔をこれに合わせる


function send_line(Me){
 var payload = {'message' :   Me};
 var options ={
   "method"  : "post",
   "payload" : payload,
   "headers" : {"Authorization" : "Bearer "+ lineToken}  
 };
 UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}


function fetchContactMail() {
 //取得間隔
 var now_time= Math.floor(new Date().getTime() / 1000) ;//現在時刻を変換
 var time_term = now_time - ((60 * get_interval) + 3); //秒にして+3秒しておく
 
 //検索条件指定
 var strTerms = '(is:unread after:'+ time_term + ')';
 
 //取得
 var myThreads = GmailApp.search(strTerms);
 var myMsgs = GmailApp.getMessagesForThreads(myThreads);
 var valMsgs = [];
 for(var i = 0; i < myMsgs.length;i++){
  valMsgs[i] = " " + myMsgs[i].slice(-1)[0].getDate().getMonth() + "/"+ myMsgs[i].slice(-1)[0].getDate().getDate()
  + " " + myMsgs[i].slice(-1)[0].getDate().getHours() + ":" + myMsgs[i].slice(-1)[0].getDate().getMinutes()
  + "\n[from]" + myMsgs[i].slice(-1)[0].getFrom()
  + "\n\n[subject]" + myMsgs[i].slice(-1)[0].getSubject()
  + "\n\n[Message]\n"+ myMsgs[i].slice(-1)[0].getPlainBody();
 }

 return valMsgs;
}

function main() {
 new_Me = fetchContactMail()
 if(new_Me.length > 0){
   for(var i = new_Me.length-1; i >= 0; i--){
     send_line(new_Me[i])
   }
 }
}
33行目にコードを追加しています。

新着メールの本文まで含め、LINEアプリのアイコンLINEに転送されることを確認できれば成功です。

メール本文も含めLINEに転送する方法

参考:Gmail以外のメールもすべてLINEに通知する方法

もしGmailのアイコンGmail以外のメールもすべてLINEアプリのアイコンLINEへ転送したい場合、次の仕組みを構築すれば実現できます。

  1. すべてのメールをGmailアドレスへ転送させる
  2. Gmailに届くメールをLINEへ転送させる

2については、ここまで紹介した手順の通りです。

1については、メールアドレスごと「自動転送」設定を施せば、Gmailアドレスへ転送できます。

例えばPOPアクセスが可能なメールアカウント(例:Yahoo!メール / Outlook)の場合、Web版Gmailにて 設定アカウントとインポート より メールアカウントを追加する と進めば、

Gmail以外のメールもすべてLINEに通知する方法

Gmailアドレス(@gmail.com)で、他アカウント(例:Yahoo!メール / Outlook)のメールを受信できます。

うまく設定すれば、すべてのメール着信をLINEにまとめて管理できます。

参考 Gmailヘルプ – 他のアカウントのメールを確認する

 

補足:

そのほかLINEに通知をまとめる方法

自動化アプリIFTTTアプリのアイコンIFTTTと連携することで、様々な通知をLINEアプリのアイコンLINEへまとめることが可能です。

IFTTT

IFTTT

IFTTT無料posted withアプリーチ

本記事で取り上げた「メールをLINEへ自動転送する」設定も、以前までならIFTTTアプリのアイコンIFTTTと連携すればカンタンに実現できました。

が、2019年3月末でサポート終了となったため、現在では対応していません。

参考 IFTTT – Gmailサービスとの連携終了について

IFTTTアプリのアイコンIFTTTとLINEアプリのアイコンLINEの設定パターンを紹介します。

2台持ちで不在着信をLINEに通知する方法

下記リンクをタップすれば、自動でこのレシピを設定できます。

レシピ IFTTT – 不在着信があったらLINEに通知する

Androidの不在着信がiPhoneのLINEへ通知される

Android(サブ端末)の不在着信がiPhone(メイン端末)のLINEへ通知される例。

詳細は関連記事【IFTTT – 2台持ちの着信通知を統一する方法! AndroidからiPhoneへ電話やSMSの知らせを転送するアプリ】で解説しています。

IFTTT - 2台持ちの着信通知を統一する方法! AndroidからiPhoneへ電話やSMSの知らせを転送するアプリ
この記事では、2台持ちのスマホで不在着信やSMSの通知をまとめる方法を解説します。アプリIFTTTでAndroidからiPhoneへお知らせを統一できます。

twitterのエゴサーチ結果をLINEに通知する方法

twitter上でのエゴサーチ結果をLINEに通知する手順

IFTTTのレシピ設定例。

詳細は関連記事【IFTTTとLINEを連携させてtwitterのエゴサーチ結果を自動化に通知する方法 [iPhone/Android]】で解説しています。

IFTTTとLINEを連携させてtwitterのエゴサーチ結果を自動化に通知する方法 [iPhone/Android]
twitterでエゴサーチをしたことはありますか? エゴサーチとは、インターネット上で、自分の本名やハンドルネーム、運営しているサイト名やブログ名を検索エンジンを使って、自分自身の評価を確認する行為のことである。略してエゴサともいう。 ...

雨の天気予報をLINEに通知する方法

雨の天気予報をLINEに通知する手順

明日の天気情報が届く。

詳細は関連記事【雨の天気予報をLINEに通知する方法! IFTTTと連携して天候の変化を自動で知らせる [iPhone/Android]】で解説しています。

雨の天気予報をLINEに通知する方法! IFTTTと連携して天候の変化を自動で知らせる [iPhone/Android]
この記事では、IFTTTを使って天気予報をLINEに通知する設定を解説します。「天気が雨に変わりそうなとき」・「明日の天気予報が雨のとき」、自動でLINEにメッセージを届けることが可能です。

その他LINE関連の便利な豆知識まとめ

本ブログでは他にもLINEアプリのアイコンLINEをもっと上手に使う情報を沢山掲載しています。

例えば、LINEには下記原則がありますが、

  • 同じ端末で複数LINEアカウントを運用できない

LINEアプリのアイコンLINEアプリのバックアップ機能を応用すれば、トーク履歴を維持したまま同スマートフォン上で複数アカウントを切り替えることができます。

同じ端末で複数LINEアカウントを切り替える方法! 1台のiPhone/Androidで2つのIDを同時に使おう
この記事では、1台のスマートフォンで複数のLINEアカウントを切り替える方法を解説します。強制ログアウトや専用アプリを使って、異なるアカウントを使い分けることが可能です。

同様の裏ワザ的な豆知識をまとめて、関連記事【LINE関連の便利な豆知識まとめ! 裏ワザ的な方法でiPhone/Androidのラインを使いこなそう】で解説しています。

LINE関連の便利な豆知識まとめ! 裏ワザ的な方法でiPhone/Androidのラインを使いこなそう
本ブログでも過去、「LINE」アプリに関わる豆知識を色々と紹介してきました。 最早スマートフォンで必須ともいえる同アプリですが、他SNSサービス(例:twitter / facebook)と比較してアカウント管理やファイルバックアップ...

 

〆:LINEにメール通知をまとめよう!

以上、メールをラインに転送する方法! iPhone/AndroidのGmailを自動でLINEに通知しよう の說明でした。

GmailのアイコンGmailをチェックするのが面倒であれば、今回紹介した設定によりLINEアプリのアイコンLINEへ通知が集約できて便利ですよ。

ぜひ、お試しあれ。

参考 Qiita – [Gmail to LINE]GASで新着メールをLINEに転送する

参考 note – 親玉Gmailの新着通知をLINEで受け取る(by GAS)

LINE
スポンサーリンク
スポンサーリンク
おるくすをフォローする
現金チャージで最大2.5%のAmazonポイント還元
Amazonの買い物はAmazonギフト券チャージタイプがオススメ!チャージする都度、最大2.5%のポイントが貯まるのでお得です。

関連記事

あっとはっく

コメント

タイトルとURLをコピーしました