使用 sendgrid 发送电子邮件失败,出现 500 内部错误
send email using sendgrid fails with 500 Internal Error
我正在使用 SoftLayer API SoftLayer_Network_Message_Delivery_Email_Sendgrid
向我的 Slack 频道发送电子邮件。
我有时会收到 API 响应代码 500。我正在发布下面收到的错误消息
{"error":"Maximum credits exceeded","code":"SoftLayer_Exception_Network_Message_Delivery_Email_Sendgrid_Api_Error"}500
我用来发送邮件的代码如下:
curl -w %{http_code} -v -H "Content-Type: application/json" -d '{"parameters": [{ "body": "body","containsHtml": false,"from": "no-reply@noreply.com","subject": "Problem with system backup!", "to": "<EmailID/Slack ID>"}]}' 'https://<username>:<API Key>@api.service.softlayer.com/rest/v3/SoftLayer_Network_Message_Delivery_Email_Sendgrid/57084/sendEmail.json'
我也想了解上面URL中的57084是什么
57084 数据是电子邮件传送 ID,当您的帐户中创建新的电子邮件传送时默认生成。
此 ID 是在请求的必需 headers 中发送的 SoftLayer_Network_Message_Delivery_Email_SendgridInitParameters。
有关详细信息,您可以查看以下文档:
https://softlayer.github.io/reference/services/SoftLayer_Network_Message_Delivery_Email_Sendgrid/sendEmail/
要获取与您的 SL 帐户关联的电子邮件传送 ID,您可以使用此 curl 示例:
curl -k "https://[username]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkMessageDeliveryAccounts.json" | python -mjson.tool
您将收到如下回复:
[
{
"accountId": 111111,
"createDate": "2015-10-23T10:25:12-06:00",
"id": 57084,
"modifyDate": null,
"password": "sdfsdfsd",
"typeId": 21,
"username": "user@yahoo.com",
"vendorId": 1,
"emailAddress": "test@yahoo.com",
"smtpAccess": "1"
}
]
您收到的错误是因为您的 SendGrid 帐户中没有足够的信用额度。
要获取您的信用帐户,您可以使用此 curl 示例。信息直接来自 SendGrid 服务器:
curl -k "https://[username]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Network_Message_Delivery_Email_Sendgrid/57084/getAccountOverview.json" | python -mjson.tool
如果您想获得有关您的 SendGrid 帐户和您的信用的更多信息,您可以访问其页面。
要获取您的 SendGrid 帐户的 URL,您可以使用此 curl 命令:
curl -k "https://[username]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Network_Message_Delivery_Email_Sendgrid/57084/getVendorPortalUrl.json" | python -mjson.tool
我正在使用 SoftLayer API SoftLayer_Network_Message_Delivery_Email_Sendgrid
向我的 Slack 频道发送电子邮件。
我有时会收到 API 响应代码 500。我正在发布下面收到的错误消息
{"error":"Maximum credits exceeded","code":"SoftLayer_Exception_Network_Message_Delivery_Email_Sendgrid_Api_Error"}500
我用来发送邮件的代码如下:
curl -w %{http_code} -v -H "Content-Type: application/json" -d '{"parameters": [{ "body": "body","containsHtml": false,"from": "no-reply@noreply.com","subject": "Problem with system backup!", "to": "<EmailID/Slack ID>"}]}' 'https://<username>:<API Key>@api.service.softlayer.com/rest/v3/SoftLayer_Network_Message_Delivery_Email_Sendgrid/57084/sendEmail.json'
我也想了解上面URL中的57084是什么
57084 数据是电子邮件传送 ID,当您的帐户中创建新的电子邮件传送时默认生成。
此 ID 是在请求的必需 headers 中发送的 SoftLayer_Network_Message_Delivery_Email_SendgridInitParameters。
有关详细信息,您可以查看以下文档: https://softlayer.github.io/reference/services/SoftLayer_Network_Message_Delivery_Email_Sendgrid/sendEmail/
要获取与您的 SL 帐户关联的电子邮件传送 ID,您可以使用此 curl 示例:
curl -k "https://[username]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkMessageDeliveryAccounts.json" | python -mjson.tool
您将收到如下回复:
[
{
"accountId": 111111,
"createDate": "2015-10-23T10:25:12-06:00",
"id": 57084,
"modifyDate": null,
"password": "sdfsdfsd",
"typeId": 21,
"username": "user@yahoo.com",
"vendorId": 1,
"emailAddress": "test@yahoo.com",
"smtpAccess": "1"
}
]
您收到的错误是因为您的 SendGrid 帐户中没有足够的信用额度。
要获取您的信用帐户,您可以使用此 curl 示例。信息直接来自 SendGrid 服务器:
curl -k "https://[username]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Network_Message_Delivery_Email_Sendgrid/57084/getAccountOverview.json" | python -mjson.tool
如果您想获得有关您的 SendGrid 帐户和您的信用的更多信息,您可以访问其页面。
要获取您的 SendGrid 帐户的 URL,您可以使用此 curl 命令:
curl -k "https://[username]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Network_Message_Delivery_Email_Sendgrid/57084/getVendorPortalUrl.json" | python -mjson.tool