前提・実現したいこと
定期的に送られてくるメールを、特定のメールアドレス宛に自動で転送したいと考えております。
Google Apps Scriptを利用して上記を達成できないか調査をしております。
発生している問題
テキストメッセージの転送については以下記事の内容を参考にして実現できました。
http://makimakimakino.hatenablog.com/entry/2019/07/27/133404
一方で、htmlメッセージをそのまま転送することができずに困っております。
コード内で var messageBody = messages[i][lastNum].getPlainBody();
とありますので、プレーンテキストしか取得できていないということは理解しているのですが、getPlainBody
をgetBody
にしたところでhtmlそのものが記載されてしまうので対処方法がわからず苦戦しております。
該当のソースコード
function mailForward() { var query = 'subject:"[GAS][MAIL][TEST]テストメール" newer_than:1d'; var threads = GmailApp.search(query, 0, 10); var messages = GmailApp.getMessagesForThreads(threads); var myMailAddress = 'sample@xxxx.com'; var forwardTo = 'sample@yyyy.com'; var forwardSubject = '[GAS][MAIL][TEST][FORWARD]テストメール'; var forwardBody =''; for(var i=0; i < messages.length; i++) { var lastNum = messages[i].length-1; //Logger.log('やり取り数:'+ lastNum); var lastSender = messages[i][lastNum].getFrom(); //Logger.log('最後の送信者:'+ lastSender); if(lastSender.indexOf(myMailAddress) == -1){ var messageId = messages[i][lastNum].getId(); var messageDate = messages[i][lastNum].getDate(); var messageSubject = messages[i][lastNum].getSubject(); var messageBody = messages[i][lastNum].getPlainBody(); forwardBody = forwardBody + 'メッセージID : ' + messageId + '\r\n' + '送信者 : ' + lastSender + '\r\n' + '送信日 : ' + messageDate + '\r\n' + '件名 : ' + messageSubject + '\r\n' + '内容 : \r\n' + messageBody + '\r\n' + '+++++++++++++++++++++++++++++++++++++++++++++++\r\n\r\n'; } } //Logger.log(forwardBody); GmailApp.sendEmail(forwardTo, forwardSubject, forwardBody); }
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー