1

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

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

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

发送网格可以实现这种情况吗?

谢谢

4

4 回答 4

6

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

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

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

每个收件人都会收到一封唯一的电子邮件,发给他们。

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

于 2013-09-05T00:48:21.733 回答
0

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

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

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

于 2013-09-04T11:59:19.407 回答
0

在 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);
    }
});
于 2017-06-01T10:46:30.603 回答
0

可以在 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);
    }
于 2019-07-30T08:14:33.827 回答