IT仕事

楽天の注文メールのタイトルを変更して転送

投稿日:2018年5月16日 更新日:

3か月以上ぶりの投稿。大変ご無沙汰である。

楽天からのご注文メールはGmailに転送しているのだが、その日のうちに注文が1件以上あった場合は、メールがばらけないで一つのスレッドにまとまってしまう。
できれば、バラしたい。
ということで、調べたところ、GoogleAppScriptでできそうだとわかった。
さっそく、以下のブログ記事を参考にして、作ってみた。作者さまに感謝。

GMailで受信したメールを翻訳して転送 – 開発者メモ

以下、ほぼ上記のリンク先のコピーで、作りましたのですが。恐縮です。

変えたところといえば、タイトルに日付を入れるようにしたのと、翻訳処理を外したのと、置換処理を少々変えたくらいか。
追記:あと、なぜか深夜の処理で転送メールが2件続くことが、たまにあった。最下行付近の「//既読にする threads[i].markRead();」が有効だった。

[code]
function Gmail_translate(){
// 転送先アドレス
var fw_addr = ‘hogehoge@gmail.com’;
// ラベル"0ROrder"
var labelR = GmailApp.getUserLabelByName("0ROrder");
// ラベル"0ROrder"が付いたメールスレッド
var threads = labelR.getThreads();
//Logger.log("threads.length = " + threads.length);
for (var i in threads) {
// スレッド表示がONになっているかもしれないので、スレッド毎に各メールを取得する
var messages = threads[i].getMessages();
for (var j in messages) {
var message = messages[j];
// 既読メッセージに対しては何もしない
if (!message.isUnread())
continue;
// 発信者, 件名, 本文, 送信日時を得る
var date = new Date(); //レスポンスから送信日時を取り出す
var from = message.getFrom();
var subject = message.getSubject() + date; //受信した際にスレッドが重ならないようにタイトルに日付を追加
var body = message.getPlainBody().replace(/\r/g, "").replace(/\n\n/g, "\n").replace(/\n\n/g, "\n");

// bodyを加工
// "—-"で始まる行はカット
//#body = body.replace(/^—-.*$/mg, ""); //←これだと空行が残る
body = body.replace(/—-[^\n]+\n/g, "");
body = body.replace(/本メールはお客様のご注文情報が楽天[^\n]+\n/g, "");
body = body.replace(/される、自動配信メールです。[^\n]+\n/g, "");
body = body.replace(/をもって売買契約[^\n]+\n/g, "");
body = body.replace(/本メール(店舗様向け[^\n]+\n/g, "");
body = body.replace(/R-Backofficeでは[^\n]+\n/g, "");
body = body.replace(/この度は楽天市場内の[^\n]+\n/g, "");
body = body.replace(/ご利用いただきまして、[^\n]+\n/g, "");
body = body.replace(/■個人情報の扱い[^\n]+\n/g, "");
body = body.replace(/==========[^\n]+\n/g, "");
body = body.replace(/──────[^\n]+\n/g, "");

// メール送信
GmailApp.sendEmail(fw_addr, subject, body);
}
// スレッドの全メールからラベル"R"を剥がす
threads[i].removeLabel(labelR);
//既読にする
threads[i].markRead();
}
}
[/code]

満足である。

-IT仕事

執筆者:

関連記事

no image

EPSON EP-4004の有線LAN(インフラストラクチャーモード)での接続方法

EPSON EP-4004のプリンタは、無線LANのアドホックでの接続は、とても簡単。 しかし、インフラストラクチャーでの接続となると、とても難しい。 マニュアルにも、丁寧なやり方は載っていない。 以 …

no image

改行文字の置換 まとめ

○強制改行をExcelで置換 検索側:[Ctrl]キー+[J]キー(何も表示されない) 置換側:任意 ○改行をWordで置換 検索側:^13(「ワイルドカードを使用する」にチェックをつけておく) 置換 …

no image

秀丸マクロで文字の折り返しを最大

今まで秀丸マクロでできないと思っていた、文字の折り返しを最大にする操作と、その後カーソルを移動させる操作が、実はできることがわかった。 自分のケースだと、 config “xAutoAdj …

no image

トップページに「新着一覧」としてカスタム投稿を日付つきで出したく、以下のページを参考にして(コピペして)作ってみたのだが、うまくいかない。 WordPress カスタム投稿の一覧をトップページ表示する …

no image

TeamViewer「指定のネットワークアドレスではパートナーに接触できません」

TeamViewerの、リモートする側・される側のバージョンが違うと、リモートコンピュータのパートナーIDを入れて相手に接続しようとした場合に、 「指定のネットワークアドレスではパートナーに接触できま …