メールをLINEに転送する方法
NTTドコモ モバイル社会研究所の調査によると、2023年1月現在でLINE普及率は83.7%です。
https://www.moba-ken.jp/project/service/20230417.html
LINEは繋がっている人しかメッセージが来ないのに対し、メールは自分のメールアドレスが悪用されるリストに載ってしまうと、SPAMメールや迷惑メール、営業メールと必要ないメールまで届きます。
私も、いろいろブロック設定していますが、それでも1日100通以上は必要のないメールが届きます。
そうすると、本当に必要なメールを見落としてしまうこともあります。
これは、たぶん多くのお客様も感じていることでしょう。
たとえば、公式ホームページには「お問い合わせフォーム」がついていると思いますが、この大事なメールが埋もれてしまうと大変です。
このような大事なメールをLINEで受け取れるといいなと思っていたら、それができる方法を見つけました。
【方法1】LINEでメールを受け取る
コーディルテクノロジー株式会社が提供している「メールをLINEに転送する」というサービスを利用するのが、一番簡単かもしれません。
https://www.codyltech.com/
こちらは無料では、毎月10回までメールをLINEに転送することができます。それ以上も有料のクーポンを購入することで、転送回数を増量することができます。
使い方は、サービス専用のLINEのお友達になると、専用のメールアドレスを発行してくれます。
LINEに転送させたいメールのサーバー側の自動転送設定に、その専用のメールアドレスを追加すれば完了です。
(なので、メールのサーバー側の自動転送設定ができないと、上記も使えないことになります)
【方法2】GmailをGAS(Google Apps Script)を使ってLINEに転送する
こちらは、ITリテラシーがないと出来ないかもしれませんが、転送数の制限はないので設定さえしてしまえば、無料で使い続けられます。
ステップは以下の3つです。
- Step1:LINE Notify(ラインノティファイ)でトークンを取得
- Step2:Google Apps Script(GAS)でLINEへの転送設定
- Step3:トリガーの設定
やってみました。
Step1:LINE Notify(ラインノティファイ)でトークンを取得
1.LINE Notifyの公式サイトへアクセス
2.自分のLINEログイン情報で「LINE Notify」にログイン
3.名前のところから「マイページ」を開く
4.「アクセストークンの発行」(開発者向け)を開き、「トークンを発行する」をクリック
5.「トークン名」を決めて入力し、メールを転送したいトークルームを選択
※トークン名は、通知の際最初に表示されますので、わかりやすい名前がいいです。
例)Gmail、メール転送
※トークルームは、自分だけに送りたい場合は一番上に自動で表示される「1:1でLINE Notifyから通知を受け取る」を選択、それ以外のグループに投稿したい場合はグループを選択する。
6.発行するをクリックし、発行されたトークンを忘れずにコピーし、画面を閉じる。
Step2:Google Apps Script(GAS)でLINEへの転送設定
1.Google Apps Scriptの公式ページにアクセスし、「Start Scripting(スクリプトを開始する)」をクリック
https://www.google.com/script/start/
※LINEに転送したいGmailのアカウントでログインしていることを確認ください。
2.「新しいプロジェクト」をクリック
3.下記のコードを削除する
function myFunction() { }
4.下記のコードをコピーし、削除したところに貼り付け
※1行目の”xxxxxxxxxxxxxx”に、先ほどLINE Notifyで取得した「トークン」を入力してください
注意)トークン前後の「”」等が全角になってしまう場合があります。半角になっていることを確認して、保存してください。
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()+1) + "/"+ 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]) } } }
5.プロジェクト名を書き換え、保存
6.アクセス権の設定「send_line」→「main」を選択し、「実行」をクリック
7.「権限を確認」をクリック
8.連携したいGoogleアカウントを選択
9.「詳細」をクリック後、転送に***(Gmail to LINE)移動と書いてある箇所をクリック
10.連携したアカウントであることを確認し、「許可」をクリック
以上でStep2が完了しました!
まず、ここで正常に動作するか確認しましょう。
- テストメールをGmailに送信する。
- Google Apps Script(GAS)のエディター・コード画面内で「▷実行」をクリック。
- LINEにGmailに届いたメールが転送されていれば成功。
Step3:トリガーの設定
1.Step2で作成したGoogle Apps Script(GAS)プロジェクトの画面を開く
2.左の「メニュー」から「トリガー(目覚ましマーク)」をクリック
3.右下の「トリガーを追加」をクリック
4.下記内容で内容でトリガーを設定
- 実行する関数:main
- 実行するデプロイ:Head
- イベントのソース:時間主導型
- 時間ベースのトリガーのタイプ:分ベースのタイマー
- 時間の間隔:※コード2行目で設定した分を選択(今回の場合は5分でコードを書いているので、5分を選択)
5.最後に少し下にスクロールをして「保存」をクリック
3Stepは完了です!再度テスト送信をしてみてください
本文まで見たい場合
今回の設定は、Gmailの件名までを通知する形ですが、本文も見たい!という方は、以下のコードに差し替えてください。
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]) } } }
これで、テスト送信し本文まで見れたら設定完了です。
大切なメールは、LINEで受け取った方がいいものは、試してみてください。