Apps 脚本 Mailapp.sendEmail 无法通过 Google Workspace 帐户运行

问题描述 投票:0回答:1

我们是一个非营利组织,多年来一直在使用表格、表单和 Apps 脚本,其中一些脚本使用 MailApp.sendEmail() 从标准 Google 帐户发送电子邮件,没有任何问题。

我们现已获得一个 Google Workspace 帐户,旨在将我们的操作表/表单/脚本迁移到新的 Workspace,因为 Google Workspace 的帐户限制要高得多。我们首先尝试的事情之一就是测试脚本邮件功能,但它根本无法在我们的任何 Google Workspace 帐户中使用。请注意,一般用户电子邮件在我们的工作区帐户内工作正常,因为我们已从各种内部帐户发送了许多电子邮件,即我们的一般电子邮件设置功能正常。

下面是我们用来测试的一个简单的代码块。为了提供更多信息,该脚本尝试将测试电子邮件发送到四个单独的电子邮件帐户 - 两个使用不同目标邮件服务器的外部邮件帐户和两个 Google 帐户,一个是工作区域内部的,一个是外部 (@gmail.com) 。该脚本执行正常,电子邮件出现在发送帐户(运行脚本的帐户)的已发送文件夹中,但没有任何内容到达任何目的地。代码如下所示(为了安全起见更改了电子邮件地址):

function testEmail() {
  Logger.log('testEmail START');
  var address = '[email protected],[email protected],[email protected],[email protected]';
  
  // Create the html version of the response email    
  var html_mailBody = 'Hello this is a test email<br><br>';

  // Create the text version of the response email
  var text_mailBody = 'Hello this is a test email\n\n';
  
  // Send the email
  MailApp.sendEmail({
    to: address,
    subject: "Test Email to three different recipients",
    body: text_mailBody,
    htmlBody: html_mailBody
  });
  Logger.log('testEmail END');
}

为了进一步调查,我们查看了 Google Workspace 管理控制台中的电子邮件日志,我们看到,每个收件人地址的电子邮件都被列为“已退回”,而发件人的电子邮件则被列为“已发送到 Gmail 邮箱”,即放在已发送文件夹中。展开退回邮件的日志后,我们看到的所有内容都是“已发送到 SMTP 服务器”,紧接着是“退回邮件”。没有服务器地址的详细信息,并且由于没有收到实际的退回邮件,因此我们没有电子邮件标头可查看退回的邮件。

我们在网络上查看并发现了一些此类行为的参考,但唯一的“答案”似乎是“使用 GmailApp 代替”,我们确信这会起作用,但我们预计会看到更多“噪音”如果 MailApp 无法通过 Google Workspace 帐户运行,那么我们怀疑我们的 Workspace 域中可能存在某些设置错误,并且我们不希望在迁移时调整脚本。

我们已经联系了 Workspace 支持人员,但我们一直在兜圈子,所以我们想看看是否有其他人看到了这一点,或者至少要确认 MailApp 目前可以通过 Google Workspace 帐户正常工作。

email google-apps-script google-workspace
1个回答
0
投票

您的测试电子邮件,尤其是当您使用新域时,可能会被保护收件人免受垃圾邮件侵害的措施捕获。

尝试改变主题和正文,以更接近真实的信息。在消息正文中,包含使每条消息都独一无二的内容。

另一方面,您应该检查域的 SPF、DMARC 和相关电子邮件设置是否正确设置。

© www.soinside.com 2019 - 2024. All rights reserved.