4

初めてここに質問をしました(投稿する前に検索していました)ので、私の側で行われた可能性のある間違いをご容赦ください.

問題: 私は現在、Google サイトを含む Web サイトに取り組んでいます。そこにいくつかのフォームを作成し、それらのフォームにスクリプトを追加して、フォームが送信されてスプレッドシートに保存されたら、そこに入力された情報を電子メールで送信します。

コード内のすべての「\n」式は単純に無視されます。www.labnol.org からコードのベースを取得し、少し編集しました。

まず、コードは次のとおりです。

    function sendFormByEmail(e) 
{    
  //I took the two mail addresses out here, but they are working in the original

  var email = "first mail address";
  var email2 = "second mail address";

  var subject = "New Announce your visit form submitted";  


  var s = SpreadsheetApp.getActiveSheet(); 
  var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0]; 
  var message = "A new 'Announce your visit' form has been submitted on the website: \n\n" + "\n\n";   

  for(var i in headers) {
    message = message + "\n \n";
    message += headers[i] + ' = '+ e.namedValues[headers[i]].toString() + "\n\n";
  }

  var senderEmail = e.namedValues[headers[6]].toString();


  MailApp.sendEmail(email, senderEmail, subject, message);
  MailApp.sendEmail(email2, senderEmail, subject, message);

}

ご覧のとおり、代わりに \n を別の場所に配置しようといろいろ試してきましたが、どこに配置しても無視されます。

元のループは次のようになります。

  for(var i in headers)
    message += headers[i] + ' = '+ e.namedValues[headers[i]].toString() + "\n\n";

コードにいくつかの変更を加える前は、問題なく機能していました。しかし、これらの行や、メッセージの取得に寄与するコードの他の部分には触れていませんが、\n は機能しなくなりました。私はそれを修正しようとし続けました(上のめちゃくちゃな \n の配置が示すように)が、成功しませんでした。

だから今、私はそれらを修正する方法、または少なくとも回避策を見つけようとしており、\nで何が起こっているのか、またはそれらを再び機能させる方法を知っていることを願っています.

前もって感謝します。

ps: さらに情報が必要な場合は、お知らせください。

4

2 に答える 2

4

解決策は、MailApp.sendEmail メソッドの代わりに GmailApp.sendEmail メソッドを使用することです。GmailAppは正しく処理されます。sendMail\n

于 2012-10-09T12:26:03.047 に答える
2

あなたがやっていることに対する別の解決策は次のとおりです: HtmlTemplate

サンプルコード:

function sendEmailWithTemplateExample() {
  var t = HtmlService.createTemplateFromFile("body.html");
  t.someValue = "some dynamic value";
  var emailBody = t.evaluate().getContent();
  MailApp.sendEmail("your@email.here", "test email", emailBody);
}

body.html の対応するテンプレート コードは次のとおりです ([ファイル] -> [新規] -> [Html ファイル] をクリックします)。

 Body goes here
<?= someValue ?>
于 2012-10-10T18:19:09.973 に答える