前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Google App Script と Googleスプレッドシート を使って、メール送信のプログラムを作成しています。
シートのセルに入力した文章を取得して、そのままHTMLメールの本文にしたいです。
発生している問題・エラーメッセージ
セルに入力した文章の改行がなくなった状態で、メールが送信されてしまいます。
セルに入力した内容
テストさま テキストテキストテキストテキストテキスト テキストテキストテキストテキストテキストテキスト
メール本文
テストさまテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
該当のソースコード
indexgs
1 2//メール送信関数 3function sendArticleCountEmails(){ 4 5 //メール件名&本文情報をスプレッドシートから取得 6 var ssBodyText = SpreadsheetApp.getActiveSpreadsheet(); 7 var sheet = ssBodyText.setActiveSheet(ssBodyText.getSheetByName("メール設定")); //【変更箇所】メール設定シートを指定 8 var range = sheet.getRange("B1:B2"); //メール設定シート内の、「B1:件名 & B2:本文」情報をまとめて取得 9 var mailData = range.getValues(); 10 var title = mailData[0]; //B1の件名をtitle変数に代入 11 var bodyText = mailData[1]; //B2の件名をbodyText変数に代入 12 13 //メールの宛先情報をスプレッドシートから取得 14 var ss = SpreadsheetApp.getActiveSpreadsheet(); 15 ss.setActiveSheet(ss.getSheetByName("test")); //【変更箇所】メール送信用シートを指定 16 var sheet = SpreadsheetApp.getActiveSheet(); 17 var dataRange = sheet.getRange("A2:B50"); //【変更箇所】メール送信用シート内の「A列:受信企業名 & B列:受信者メールアドレス」情報をまとめて取得。(例:2行目から50行目を送信する場合は「A2:A50」と変更) 18 var data = dataRange.getValues(); 19 20 //メールを1通ずつ作成し送信 21 for(i in data){ 22 var rowData = data[i]; 23 var recipient = rowData[0]; //A列の受信企業名をrecipient変数に代入 24 var emailAddress = rowData[1];//B列の受信者メールアドレスをemailAddress変数に代入 25 26 var message = recipient + 'さま\n' 27 + '\n' 28 + bodyText; 29 30 if(recipient && emailAddress){ 31 MailApp.sendEmail({ 32 to : emailAddress, 33 subject : title, 34 htmlBody: message 35 }) 36 }; 37 } 38}

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。