当前位置: 首页 > 知识库问答 >
问题:

使用谷歌应用程序脚本格式化的高级发送邮件-邮件中的灵活内容

邓毅
2023-03-14

我是一个新的编码员,我的任务是:用谷歌应用程序脚本发送格式化的电子邮件,但不同的内容取决于谁将收到电子邮件(如姓名、截止日期、日期、一些小事情…)所以我尝试编写这个任务,使用java脚本和html,但现在我被困在这里。

如果我使用此方法:“MailApp.sendEmail(电子邮件地址、收件人、主题、邮件)”=

所以我改为另一种方法:“MailApp.sendmail(emailAddress,subject,,,options)”。在这种方法中,我们可以使用html代码来格式化电子邮件中的内容,但是我们不能使用var来灵活地更改内容。

所以,任何深入了解如何在html标记中使用var的人,请帮助我修复代码以使其正常工作。

我将为您提供详细的代码、输入和输出,以获得帮助。详情如下:

  function sendArticleCountEmails() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName("STEP2 Send-Emails"));
  var sheet= SpreadsheetApp.getActiveSheet()
  var startRow = 2;  
  var numRows = sheet.getLastRow();  
  var dataRange = sheet.getRange(startRow, 1, numRows, 
  sheet.getLastColumn());
  var data = dataRange.getValues();        

for (i in data) {
        var rowData = data[i];
        if(!rowData[1]) continue;
        if(rowData[3] != false) continue;
        var emailAddress = rowData[1];
        var recipient = rowData[0];
        var parameter1 = rowData[2];
        var subject = sheet.getRange(2,9).getValue();
        var nbd = sheet.getRange(2,10).getValue();
        var nkt = sheet.getRange(2,11).getValue();
        var deadline = sheet.getRange(2,12).getValue();

    var options = {
      htmlBody: <body aria-readonly="false" style="cursor: auto;"><span style="font-size:16px"><span style="font-family:verdana,geneva,sans-serif"><span style="background-color:rgb(255, 255, 255); color:rgb(34, 34, 34)">Dear <strong>recipient</strong>,<br />
    <br />
    We would like to share with you the schedule of next week, from <strong>nbd</strong> to <strong>nkt</strong> as below: </span></span></span><br />
    <br />
       parameter1   
    <br />
    <span style="font-size:16px"><span style="font-family:verdana,geneva,sans-serif"><span style="background-color:rgb(255, 255, 255); color:rgb(34, 34, 34)">Please take a look and feedback this mail to confirm that you cover these class information next week and deliver to your teachers.<br />
    Looking forward to seeing your <em><strong>CONFIRMATION ASAP</strong></em>, and please before <strong>14:00, deadline</strong>.<br />
    <br />
    Thanks &amp; best regards,<br />
    STEMHOUSE</span></span></span></body>
    };

    MailApp.sendEmail(emailAddress, subject, '',options)

    var completeRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn()).check()
        }}

共有1个答案

濮阳宏硕
2023-03-14

尝试将您的选项更改为:

  var options = {
      htmlBody: <body aria-readonly="false" style="cursor: auto;"><span style="font-size:16px"><span style="font-family:verdana,geneva,sans-serif"><span style="background-color:rgb(255, 255, 255); color:rgb(34, 34, 34)">Dear <strong>" + recipient + "</strong>,<br />
    <br />
    We would like to share with you the schedule of next week, from <strong>" + nbd + "</strong> to <strong>" + nkt + "</strong> as below: </span></span></span><br />
    <br />
       parameter1   
    <br />
    <span style="font-size:16px"><span style="font-family:verdana,geneva,sans-serif"><span style="background-color:rgb(255, 255, 255); color:rgb(34, 34, 34)">Please take a look and feedback this mail to confirm that you cover these class information next week and deliver to your teachers.<br />
    Looking forward to seeing your <em><strong>" + CONFIRMATION ASAP + "</strong></em>, and please before <strong>14:00, " + deadline + "</strong>.<br />
    <br />
    Thanks &amp; best regards,<br />
    STEMHOUSE</span></span></span></body>
    };

例如,当您放入时,它将整个HTML视为一个字符串,因此当您仅将收件人放入其中时,它将其视为字符串“收件人”,因此它不会传递实际变量。

 类似资料:
  • 所以我想知道我是否可以访问我的签名从我的Gmail帐户和发送电子邮件连同它。是否可以使用Gmail API和应用程序脚本? 这是我目前得到的。

  • 我有一个谷歌脚本的问题。基本上,我的目标是让脚本检查客户的案例是否得到解决,然后向他们发送电子邮件,告知问题已经解决。我已经完成了发送电子邮件的逻辑,但每次我尝试将其应用到电子表格中时,都会出现错误:

  • 我已经建立了一个谷歌表单,我的回复被记录在一个电子表格中。理想情况下,我希望回复也通过电子邮件发送。

  • 我有一个电子表格,存储工作表1上的任务。当一个任务完成时,就会发送一封电子邮件。表2保存了发送到、抄送和回复的特定电子邮件地址。我可以循环浏览第2页并获得每一栏的电子邮件地址。我想能够得到这些电子邮件地址到我的选项发送电子邮件在MailApp。无法从工作表2的循环中获取电子邮件地址。请参阅下面的代码。任何帮助都将不胜感激。

  • 我正在使用谷歌的邮件服务器发送电子邮件。对于电子邮件发送,我使用PHPMailer。这是我在示例中使用的代码片段。com/contactus站点: 代码向我发送了一封电子邮件(support@example.com)其标题为: 问题是,当我使用不同的地址作为用户名和密码进行身份验证时,消息不会被发送。错误是: 我不知道为什么它与我每天使用的私人gmail帐户一起工作,为什么它不与我拥有的其他gma

  • 我们为客户建立了Google G Suite,在过去的几周里,我们发现Google Apps脚本没有按照预期处理mailapp.sendeMail()。它只发生在新的G套件帐户和完全相同的代码在现有帐户函数中,与预期的一样。