我是发送网格的新bie。我已经检查了两个电子邮件“https://sendgrid.com/api/mail.send.js ...”这个网址,并在两封电子邮件中成功收到了邮件。
用户从上述网址收到的邮件都有“TO”字段中的电子邮件地址 对于前者用户测试至:test@example.com; test2@example.com。和For User test2 To:test@example.com; test2@example.com。
根据我的要求,我想为多个用户发送邮件,每个配方只有他的电子邮件地址而不是其他人。 对于前者用户测试至:test@example.com和For User test2至:test2@example.com。
发送网格是否可以实现这种情况。
谢谢
答案 0 :(得分:6)
您可以使用SendGrid SMTP API's to
parameter将相同的电子邮件发送给多个收件人。
要执行此操作,您需要在邮件中设置X-SMTPAPI:
标头,此标头将包含与SendGrid的SMTP API通信的JSON。标题看起来如下:
X-SMTPAPI: { "to": [ "test@example.com", "test2@example.com" ] }
每位收件人都会收到一封唯一的电子邮件,只发送 。
请注意:您仍然需要为要发送的邮件设置To:
标头,但是您可以将其设置为您自己或其中一个收件人(然后将其从JSON列表中排除)。< / p>
答案 1 :(得分:0)
作为标准SMTP服务器的发送网格将作为响应,就像您从gmail,yahoo或outlook发送电子邮件一样。
我不知道这种情况。我只将它合并到2个应用程序中,所以我确信有更好的专家。
作为替代方案,您可以使用盲文进行测试,问题是在“收件人”字段中需要一个主地址,这可能无法满足您的要求。
答案 2 :(得分:0)
在Azure Mobile Service / 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 :(得分: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);
}