【问题标题】:Send mail for multiple user and the each recipents have only his email address not the others为多个用户发送邮件,每个收件人只有他的电子邮件地址,没有其他人
【发布时间】:2013-09-07 21:02:35
【问题描述】:

我是发送网格的新手。我已经检查了这个网址的两封电子邮件“https://sendgrid.com/api/mail.send.js...”,并在两封电子邮件中都成功收到了邮件。

用户从上述 URL 收到的邮件在“TO”字段中都有电子邮件地址,例如 例如。用户测试收件人:test@example.com;test2@example.com。对于用户 test2 至:test@example.com;test2@example.com。

根据我的要求,我想为多个用户发送邮件,每个用户只有他的电子邮件地址,没有其他人。 例如。用户测试收件人:test@example.com 和用户 test2 收件人:test2@example.com。

这种情况是否可以通过发送网格实现。

谢谢

【问题讨论】:

  • 您发布的 API 链接目前不起作用,但您不是只需要密件抄送收件人而不是使用 TO 吗?并且不太确定这与 ColdFusion 有何关系?

标签: email sendgrid


【解决方案1】:

可能在 Sendgrid 上。您可以通过个性化在 sendgrid 上使用普通密件抄送,但我们不喜欢它,因为始终需要 To:。所以我的解决方案是 sendgrid 事务性电子邮件。这将向多个用户发送 1 封电子邮件(使用 sendgrid / php / laravel ):

    $email = new \SendGrid\Mail\Mail();
    $email->setFrom("sender@mail.com", "Sender Name");
    $email->setSubject("Your subject");
    $email->addTo(
        "email.1@mail.com",
        "User One",
        [],
        0
    );
    $email->addTo(
        "email.2@mail.com",
        "User Two",
        [],
        1
    );
    $email->addTo(
        "email.3@mail.com",
        "User Three",
        [],
        2
    );
    $email->addContent("text/plain", "your body");
    $email->addContent("text/html", "<strong>your body</body>");

    $sendgrid = new \SendGrid(getenv('SENDGRID_API_KEY'));
    try {
        $response = $sendgrid->send($email);
        return response()->json($response, 200);
    } catch (Exception $e) {
        return response()->json($e->getMessage(), 400);
    }

【讨论】:

    【解决方案2】:

    在 Azure 移动服务 /NodeJS 上发送电子邮件

     var sendgrid = new SendGrid('KEY');
    sendgrid.send({
        to: toEMail, // ["email1@mail.com", "email2@mail.com",...]
        from: fromEMail,
        subject: subject,
        text: body
    }, function (success, message) {
        console.log("send mail: " + subject);
        // If the email failed to send, log it as an error so we can investigate
        if (!success) {
            console.error(message);
        }
    });
    

    【讨论】:

      【解决方案3】:

      您可以使用SendGrid SMTP API's to parameter 将同一封电子邮件发送给多个收件人。

      为此,您将在您的消息中设置一个X-SMTPAPI: 标头,该标头将包含用于与 SendGrid 的 SMTP API 通信的 JSON。标题将如下所示:

      X-SMTPAPI: { "to": [ "test@example.com", "test2@example.com" ] }
      

      每个收件人都会收到一封独特的电子邮件,仅发送给他们

      请注意:您仍然需要为要发送的消息设置 To: 标头,但是您可以将其设置为您自己或其中一个收件人(然后将他们从 JSON 列表中排除)。

      【讨论】:

      • 嘿尼克,我按照你在评论中的建议做了,但它会将电子邮件发送到“to”标题中提到的地址,而不是 x-smtpapi 标题中的地址。
      • @codeinprogress 很可能,您遇到了格式问题。我会创建您自己的问题,以便我们帮助回答。
      • 嘿@NickQ。我也可以在 X-SMTPAPI 标头中使用密件抄送吗?我已将 X-SMTPAPI 用于to。请任何人回复。
      • Ankit,您不能在X-SMTPAPI 标头中使用密件抄送,只能在to 中使用。如果你想使用BCC,你应该单独发送消息。
      【解决方案4】:

      作为标准 SMTP 服务器的发送网格会像您从 gmail、yahoo 或 Outlook 发送电子邮件一样做出响应。

      据我所知,这种情况是不可能的。我只将它合并到 2 个应用程序中,所以我确信有更好的专家。

      作为替代方案,您可以使用密件进行测试,这样做的问题是需要在“收件人”字段中设置一个主要地址,这可能无法满足您的要求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-28
        • 1970-01-01
        • 2019-07-23
        • 2011-05-18
        • 1970-01-01
        • 2021-06-27
        • 2012-05-18
        相关资源
        最近更新 更多