こんにちは!スタッフNです。
今回は、【超初心者向け】GmailをLINEに転送する3Stepの番外編、「一定の「件名」のメールだけ、または一定の「送信元」のメールだけを転送する設定」についてです!
- 新規メールは全部は転送されるのはちょっと・・・
- SHOPに届いたメールだけ転送したい!
- プライベートに届くメールだけ転送したい!
上記の方にはすごく便利だと思います!是非お試しください。
基本的なGmailをLINEに転送する設定については、下記をご覧ください!
一定の「件名」のメールだけ、または一定の「送信元」のメールだけを転送する設定に必要なツール2つ!
- Gmailアカウント
転送したい自分のGmailアカウント - Google Apps Script(GAS)
【超初心者向け】GmailをLINEに転送する3Stepで設定した、Google Apps Script(GAS)のコード
設定はすべてパソコンで行います!
大まかなステップは2つ!
- Gmailでフィルタとラベルを設定
- Google Apps Scriptのコードを追記修正
主にGmailでの設定がメインです!Google Apps Scriptでの設定は、たった1行を書き換えるだけです。
さて!レッツチャレンジ!
Gmailでフィルタとラベルを設定!
Step1
1.Gmail を開く
2.①目的のメールの横にあるチェックボックスをオン
②その他アイコン をクリック
③[メールの自動振り分け設定] をクリック
3.[フィルタを作成] をクリックします。
※特定のメールアドレスではなく、件名で振り分けをしたい場合は、「From」のメールアドレスを削除し、「件名」に転送したい件名を入れてください!
4.「ラベルを付ける」をクリック
※必要に応じてその他条件を選択ください。
【重要】
ここでつけた「ラベル名」を次のステップ「Google Apps Script(GAS)のコード」修正で使用しますので、必ず控えてください!
Gmailの準備が整いました!
ここからStep2
Google Apps Script(GAS)でソースコードを追記修正
1.Google Apps Scriptの公式ページにアクセス
2.自分のプロジェクトをクリックし、「【超初心者向け】GmailをLINEに転送する3Step」で作成したプロジェクトを選択
3.下記2つのコードを追記修正します
①3行目に下記を追加
var words = “”;
「””」が半角になっていることをご確認ください。
②22行目を(修正後)に変更
(修正前)
var strTerms = ‘(is:unread after:’+ time_term + ‘)’;
↓
(修正後)
var strTerms = ‘(label:nakatani subject:{‘ + words + ‘} is:unread after: ‘ + time_term + ‘)’;
label:*** subject:{‘ + words + ‘}
「’」が半角になっていることをご確認ください。
***の部分に、先ほど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()+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])
}
}
}
以上でStep2が完了しました!
ここで正常に動作するか確認しましょう。
- テストメールをGmailに送信する
- Google Apps Script(GAS)のエディター・コード画面内で「▷実行」をクリック
- LINEにGmailに届いたメールが転送されていれば成功
以上で設定は終了です!お疲れ様でした!
上手く動かなかった方は、オンラインZoomにて有償サポートさせていただきます(1時間/7,700円)。
※お問い合わせよりメール2往復までは無料です。3回目より有償とさせていただきます。
「こんなことはできるの?」というご相談もお気軽にお寄せください。