使用 Mailjet API 和 GAS 发送邮件
Sending Mails using the Mailjet API with GAS
我想使用 Mailjet 通过 Google Apps 脚本发送邮件。问题是根本没有关于如何将此 API 与 GAS 一起使用的文档。
你们中有人知道一些关于 Mailjet 使用的文档吗,或者你们中有谁知道一个网站可以发送像 Sendgrid 或 Mailjet 这样的邮件,我们可以找到使用 API 的文档在天然气中?
我尝试使用以下代码使用 JetMail 发送基本电子邮件,但无法正常工作:
var mailjeturl = "https://api.mailjet.com/v3.1/send";
var mailjetparams = {
"Messages":[{
"From": {"Email": 'myemail@domain.com',"Name": 'Robert'},
"To": [{"Email": 'theiremail@domain.com'}],
"Subject": 'subject',
"HTMLPart": 'this message',
}
var mailjetoptions = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(mailjetparams)
};
var response = JSON.parse(UrlFetchApp.fetch(mailjeturl, mailjetoptions))
我真的不知道把我的钥匙写在哪里
提前感谢您的回答,
叮当声
如果您希望使用 GAS 与外部 API 进行交互,请查看此处的一些文档:
https://developers.google.com/apps-script/guides/services/external
至于 API 与 MailJet 的交互,我会说看看 ES2015 Javascript 包装器作为起点,看看它是否适合 GAS。看这里:
mailjet 的 CURL 示例如下所示:
curl -s \
-X POST \
--user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
https://api.mailjet.com/v3.1/send \
-H 'Content-Type: application/json' \
-d '{
"Messages":[
{
"From": {
"Email": "pilot@mailjet.com",
"Name": "Mailjet Pilot"
},
"To": [
{
"Email": "passenger1@mailjet.com",
"Name": "passenger 1"
}
],
"Subject": "Your email flight plan!",
"TextPart": "Dear passenger 1, welcome to Mailjet! May the delivery force be with you!",
"HTMLPart": "<h3>Dear passenger 1, welcome to Mailjet!</h3><br/>May the delivery force be with you!"
}
]
}'
您缺少:
--user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE"
部分。
您可以在 SO 看到以下 post:
Whosebug - How to use UrlFetchApp with credentials? Google Scripts
但是 mailjet 可能有特定的语法。
你必须做一些修改。
- 添加授权信息
- 确认邮箱是否存在'myemail@domain.com'
我输入了正确的 mailjet 用户名和密码,并添加了我公司的 noreply 域,它成功了!
var encoding = Utilities.base64Encode(user + ":" + userPwd);
var mailjetUrl = "https://api.mailjet.com/v3.1/send";
var mailjetParams = {
"Messages":[{
"From": {"Email": '...'},
"To": [{"Email": '...'}],
"Subject": 'subject',
"HTMLPart": 'message'}]
}
var mailjetOptions = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(mailjetParams),
"headers": {"Authorization": "Basic " + encoding},
}
var response = JSON.parse(UrlFetchApp.fetch(mailjetUrl, mailjetOptions));
Logger.log(response);
我想使用 Mailjet 通过 Google Apps 脚本发送邮件。问题是根本没有关于如何将此 API 与 GAS 一起使用的文档。
你们中有人知道一些关于 Mailjet 使用的文档吗,或者你们中有谁知道一个网站可以发送像 Sendgrid 或 Mailjet 这样的邮件,我们可以找到使用 API 的文档在天然气中?
我尝试使用以下代码使用 JetMail 发送基本电子邮件,但无法正常工作:
var mailjeturl = "https://api.mailjet.com/v3.1/send";
var mailjetparams = {
"Messages":[{
"From": {"Email": 'myemail@domain.com',"Name": 'Robert'},
"To": [{"Email": 'theiremail@domain.com'}],
"Subject": 'subject',
"HTMLPart": 'this message',
}
var mailjetoptions = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(mailjetparams)
};
var response = JSON.parse(UrlFetchApp.fetch(mailjeturl, mailjetoptions))
我真的不知道把我的钥匙写在哪里
提前感谢您的回答,
叮当声
如果您希望使用 GAS 与外部 API 进行交互,请查看此处的一些文档:
https://developers.google.com/apps-script/guides/services/external
至于 API 与 MailJet 的交互,我会说看看 ES2015 Javascript 包装器作为起点,看看它是否适合 GAS。看这里:
mailjet 的 CURL 示例如下所示:
curl -s \
-X POST \
--user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
https://api.mailjet.com/v3.1/send \
-H 'Content-Type: application/json' \
-d '{
"Messages":[
{
"From": {
"Email": "pilot@mailjet.com",
"Name": "Mailjet Pilot"
},
"To": [
{
"Email": "passenger1@mailjet.com",
"Name": "passenger 1"
}
],
"Subject": "Your email flight plan!",
"TextPart": "Dear passenger 1, welcome to Mailjet! May the delivery force be with you!",
"HTMLPart": "<h3>Dear passenger 1, welcome to Mailjet!</h3><br/>May the delivery force be with you!"
}
]
}'
您缺少:
--user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE"
部分。
您可以在 SO 看到以下 post:
Whosebug - How to use UrlFetchApp with credentials? Google Scripts
但是 mailjet 可能有特定的语法。
你必须做一些修改。
- 添加授权信息
- 确认邮箱是否存在'myemail@domain.com'
我输入了正确的 mailjet 用户名和密码,并添加了我公司的 noreply 域,它成功了!
var encoding = Utilities.base64Encode(user + ":" + userPwd);
var mailjetUrl = "https://api.mailjet.com/v3.1/send";
var mailjetParams = {
"Messages":[{
"From": {"Email": '...'},
"To": [{"Email": '...'}],
"Subject": 'subject',
"HTMLPart": 'message'}]
}
var mailjetOptions = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(mailjetParams),
"headers": {"Authorization": "Basic " + encoding},
}
var response = JSON.parse(UrlFetchApp.fetch(mailjetUrl, mailjetOptions));
Logger.log(response);