Javascript 电子邮件中的空格

Javascript 电子邮件中的空格,javascript,json,google-apps-script,gmail,Javascript,Json,Google Apps Script,Gmail,我正在尝试建立一个GSM Gmail插件,它将在compose窗口中打开一张卡片,并有几个字段,然后生成一个模板并将其添加到电子邮件中。我有几个包含HTML内容的变量,还有几个包含卡片中的字段。我几乎完成了。我需要做的最后一件事是指定一个主题,每次都是相同的,并指定基于卡片中文本字段的收件人。 这是我的密码。我有2个文件,一个gs代码文件和一个json清单文件 Manifest.json: { "timeZone": "America/Chicago", "dependencies":

我正在尝试建立一个GSM Gmail插件,它将在compose窗口中打开一张卡片,并有几个字段,然后生成一个模板并将其添加到电子邮件中。我有几个包含HTML内容的变量,还有几个包含卡片中的字段。我几乎完成了。我需要做的最后一件事是指定一个主题,每次都是相同的,并指定基于卡片中文本字段的收件人。 这是我的密码。我有2个文件,一个gs代码文件和一个json清单文件

Manifest.json:

{
  "timeZone": "America/Chicago",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.current.action.compose", "https://www.googleapis.com/auth/gmail.addons.current.message.readonly", "https://www.googleapis.com/auth/gmail.addons.execute", "https://www.googleapis.com/auth/script.locale"],
  "runtimeVersion": "V8",
  "addOns": {
    "common": {
      "name": "Review Published Email Template",
      "logoUrl": "https://goodbookreviews.page/Logo.png",
      "useLocaleFromApp": true,
      "universalActions": [{
        "label": "Book Review ",
        "openLink": "https://www.goodbookreviews.page"
      }]
    },
    "gmail": {
      "contextualTriggers": [{
        "unconditional": {
        },
        "onTriggerFunction": "onGmailMessage"
      }],
      "composeTrigger": {
        "selectActions": [{
          "text": "Use Template",
          "runFunction": "onGmailCompose"
        }],
        "draftAccess": "NONE"
      }
    }
  }
}
code.js:

function onGmailCompose(e) {
  console.log(e);
  var header = CardService.newCardHeader()
      .setTitle('Use Template')
      .setSubtitle('Use the template for sending an email after a review has been published.');
  // Create text input for entering the cat's message.
  var input = CardService.newTextInput()
      .setFieldName('email')
      .setTitle('Email')
      .setHint('What is the readers email address?');
  var input2 = CardService.newTextInput()
  .setFieldName('FName')
  .setTitle('First Name')
  .setHint('What is the readers first name?');
  var input3 = CardService.newTextInput()
  .setFieldName('BookTitle')
  .setTitle('Reviewed Book Title')
  .setHint('What is the title of the book reviewed?');
  var input4 = CardService.newTextInput()
  .setFieldName('BookAuthor')
  .setTitle('Reviewed Book Author')
  .setHint('Who is the author of the book reviewed?');
  // Create a button that inserts the cat image when pressed.
  var action = CardService.newAction()
      .setFunctionName('useTemplate');
  var button = CardService.newTextButton()
      .setText('Use Template')
      .setOnClickAction(action)
      .setTextButtonStyle(CardService.TextButtonStyle.FILLED);
  var buttonSet = CardService.newButtonSet()
      .addButton(button);
  // Assemble the widgets and return the card.
  var section = CardService.newCardSection()
      .addWidget(input)
      .addWidget(input2)
      .addWidget(input3)
      .addWidget(input4)
      .addWidget(buttonSet);
  var card = CardService.newCardBuilder()
      .setHeader(header)
      .addSection(section);
  return card.build();
}
function useTemplate(e) {
  console.log(e);
  var email = e.formInput.email;
  var FName = e.formInput.FName;
  var Title = e.formInput.BookTitle;
  var Author = e.formInput.BookAuthor;
  var now = new Date();
  var htmlIntro = '<p>Hello, </p>';
  var html2 = '<p> Thank you for writing a book review at <a href="https://www.goodbookreviews.page">Good Book Reviews</a> on</p>';
  var html3 = '<p>by</p>';
  var html4 = '<p>. You Review has been published to our site. Any personal information you included was NOT published, including first name, last name,  age, and email address. Only info you wrote about the book was published. You can see it right <a href="https://www.goodbookreviews.page./books-and-reviews/look-at-reviews"> here!</a> If you need anything else, feel free to contact us at support@goodbookreviews.page or reply to this email to contact us. <br> Happy Reading,<br> The Book Review Team</p>';
  var message = htmlIntro + FName + html2 + Title + html3 + Author + html4;
  var response = CardService.newUpdateDraftActionResponseBuilder()
  .setUpdateDraftBodyAction(CardService.newUpdateDraftBodyAction()
                            .addUpdateContent(message, CardService.ContentType.MUTABLE_HTML)
                            .setUpdateType(CardService.UpdateDraftBodyType.IN_PLACE_INSERT))
  .build();
  return response;
}
function onGmailMessage(e) {
  console.log(e);
  var header = CardService.newCardHeader()
  .setTitle('Unavailable')
  .setSubtitle('Open the compose window to use template');
  var card = CardService.newCardBuilder()
  .setHeader(header);
  return card.build();
}
函数(e){
控制台日志(e);
var header=CardService.newCardHeader()
.setTitle('使用模板')
.setSubtitle('在发布评论后使用模板发送电子邮件');
//创建文本输入以输入cat信息。
var input=CardService.newtInput()
.setFieldName(“电子邮件”)
.setTitle(“电子邮件”)
.setHint('读者的电子邮件地址是什么?');
var input2=CardService.newtInput()
.setFieldName('FName'))
.setTitle(“名字”)
.setHint('读者的名字是什么?');
var input3=CardService.newtInput()
.setFieldName('BookTitle')
.setTitle(“已审阅书名”)
.setHint(‘被评论的书的标题是什么?’);
var input4=CardService.newtInput()
.setFieldName('BookAuthor')
.setTitle('已审阅的书籍作者')
.setHint(‘谁是这本书的作者?’);
//创建按下时插入cat图像的按钮。
var action=CardService.newAction()
.setFunctionName('useTemplate');
var button=CardService.newTextButton()
.setText('使用模板')
.setOnClickAction(操作)
.setTextButtonStyle(CardService.TextButtonStyle.FILLED);
var buttonSet=CardService.newButtonSet()
.addButton(按钮);
//组装小部件并返回卡片。
var section=CardService.newCardSection()
.addWidget(输入)
.addWidget(输入2)
.addWidget(输入3)
.addWidget(输入4)
.addWidget(按钮集);
var card=CardService.newCardBuilder()
.setHeader(标题)
.addSection(section);
return card.build();
}
函数使用模板(e){
控制台日志(e);
var email=e.formInput.email;
var FName=e.formInput.FName;
var Title=e.formInput.BookTitle;
var Author=e.formInput.BookAuthor;
var now=新日期();
var htmlIntro='你好,

'; var html2=“感谢您在上写了一篇书评,

”; var html3='by

'; var html4='。您的评论已发布到我们的网站。您包含的任何个人信息均未发布,包括名字、姓氏、年龄和电子邮件地址。仅发布了您撰写的关于本书的信息。如果您还需要其他信息,请随时与我们联系support@goodbookreviews.page或回复此电子邮件邮件联系我们。
快乐阅读,
书评小组

; var message=htmlIntro+FName+html2+Title+html3+Author+html4; var response=CardService.newUpdateDraftActionResponseBuilder() .setUpdateDraftBodyAction(CardService.newUpdateDraftBodyAction()) .addUpdateContent(消息、CardService.ContentType.MUTABLE_HTML) .setUpdateType(CardService.UpdateDraftBodyType.IN_PLACE_INSERT)) .build(); 返回响应; } 电子邮件功能(e){ 控制台日志(e); var header=CardService.newCardHeader() .setTitle(“不可用”) .setSubtitle(“打开撰写窗口以使用模板”); var card=CardService.newCardBuilder() .setHeader(header); return card.build(); }
有人能告诉我怎么做吗?谢谢

您的“p”标记会创建额外的换行符。试试像这样的东西

var htmlIntro = '<p>Hello, ';
var html2 = 'Thank you for writing a book review at <a href="https://www.goodbookreviews.page">Good Book Reviews</a> on ';
var html3 = ' by ';
var html4 = '. You Review has been published to our site. Any personal information you included was NOT published, including first name, last name,  age, and email address. Only info you wrote about the book was published. You can see it right <a href="https://www.goodbookreviews.page./books-and-reviews/look-at-reviews"> here!</a> If you need anything else, feel free to contact us at support@goodbookreviews.page or reply to this email to contact us. <br> Happy Reading,<br> The Book Review Team</p>';
var message = htmlIntro + FName + html2 + Title + html3 + Author + html4;
var htmlIntro='Hello';
var html2='感谢您在上写了一篇书评';
var html3='by';
var html4='。您的评论已发布到我们的网站。您包含的任何个人信息均未发布,包括姓名、年龄和电子邮件地址。只有你写的关于这本书的信息出版了。如果您还需要什么,请随时联系我们support@goodbookreviews.page或回复此电子邮件与我们联系<快乐阅读,
书评小组

; var message=htmlIntro+FName+html2+Title+html3+Author+html4;
或者,如果您使用V8发动机,则更简单

var message = `<p>Hello, ${FName} Thank you for writing a book review at Good Book Reviews on ${Title} by ${Author}. Your Review has been published to our site. Any personal information you included was NOT published, including first name, last name, age, and email address. Only info you wrote about the book was published. You can see it right here! If you need anything else, feel free to contact us at support@goodbookreviews.page or reply to this email to contact us.</p>
<br>
<p>Happy Reading,</p>
<br>
<p>The Book Review Team</p>
`
var message=`Hello,${FName}感谢您在${Author}的《关于${Title}的好书评论》上写了一篇书评。您的评论已发布到我们的网站。您包含的任何个人信息均未发布,包括姓名、年龄和电子邮件地址。只有你写的关于这本书的信息出版了。你可以在这里看到它!如果您还需要什么,请随时联系我们support@goodbookreviews.page或回复此电子邮件与我们联系


快乐阅读


书评小组

`
您的“p”标记会创建额外的换行符。试试像这样的东西

var htmlIntro = '<p>Hello, ';
var html2 = 'Thank you for writing a book review at <a href="https://www.goodbookreviews.page">Good Book Reviews</a> on ';
var html3 = ' by ';
var html4 = '. You Review has been published to our site. Any personal information you included was NOT published, including first name, last name,  age, and email address. Only info you wrote about the book was published. You can see it right <a href="https://www.goodbookreviews.page./books-and-reviews/look-at-reviews"> here!</a> If you need anything else, feel free to contact us at support@goodbookreviews.page or reply to this email to contact us. <br> Happy Reading,<br> The Book Review Team</p>';
var message = htmlIntro + FName + html2 + Title + html3 + Author + html4;
var htmlIntro='Hello';
var html2='感谢您在上写了一篇书评';
var html3='by';
var html4='。您的评论已发布到我们的网站。您包含的任何个人信息均未发布,包括姓名、年龄和电子邮件地址。只有你写的关于这本书的信息出版了。如果您还需要什么,请随时联系我们support@goodbookreviews.page或回复此电子邮件与我们联系<快乐阅读,
书评小组

; var message=htmlIntro+FName+html2+Title+html3+Author+html4;
或者,如果您使用V8发动机,则更简单

var message = `<p>Hello, ${FName} Thank you for writing a book review at Good Book Reviews on ${Title} by ${Author}. Your Review has been published to our site. Any personal information you included was NOT published, including first name, last name, age, and email address. Only info you wrote about the book was published. You can see it right here! If you need anything else, feel free to contact us at support@goodbookreviews.page or reply to this email to contact us.</p>
<br>
<p>Happy Reading,</p>
<br>
<p>The Book Review Team</p>
`
var message=`Hello,${FName}感谢您在${Author}的《关于${Title}的好书评论》上写了一篇书评。您的评论已发布到我们的网站。您包含的任何个人信息均未发布,包括姓名、年龄和电子邮件