Мне нужно знать, как настроить sendgrid v3 для отправки электронных писем с помощью WEB API. Я использую следующий код, но он показывает мне ошибку:
$request_body = json_decode('{
"asm": {
"content": [
{
"type": "text/html",
"value": "'. $body .'"}
],
"from": {
"email": "'. $sender_email .'",
"name": "'. $sender_name .'"},
"personalizations": [
{
"bcc": [
{
"email": "'. $receiver_email .'",
"name": "'. $receiver_name .'"}
],
"headers": {
"X-Accept-Language": "en",
"X-Mailer": "MailerKobsa"},
"send_at": 1409348513,
"subject": "'. $subject .'",
"substitutions": {
"id": "substitutions",
"type": "object"},
"to": [
{
"email": "'. $receiver_email .'",
"name": "'. $receiver_name .'"}
]
}
],
"reply_to": {
"email": "'. $sender_email .'",
"name": "'. $sender_name .'"},
"send_at": 1409348513,
"subject": "'. $subject .'"}');
Но я получаю следующую ошибку:
415array(9) { [0]=> string(36) "HTTP/1.1 415 Unsupported Media Type " [1]=> string(14) "Server: nginx " [2]=> string(36) "Date: Fri, 25 Nov 2016 23:53:37 GMT " [3]=> string(31) "Content-Type: application/json " [4]=> string(19) "Content-Length: 92 " [5]=> string(23) "Connection: keep-alive " [6]=> string(22) "X-Frame-Options: DENY " [7]=> string(1) " " [8]=> string(0) "" } {"errors":[{"message":"Content-Type should be application/json.","field":null,"help":null}]}415array(9) { [0]=> string(36) "HTTP/1.1 415 Unsupported Media Type " [1]=> string(14) "Server: nginx " [2]=> string(36) "Date: Fri, 25 Nov 2016 23:53:38 GMT " [3]=> string(31) "Content-Type: application/json " [4]=> string(19) "Content-Length: 92 " [5]=> string(23) "Connection: keep-alive " [6]=> string(22) "X-Frame-Options: DENY " [7]=> string(1) " " [8]=> string(0) "" } {"errors":[{"message":"Content-Type should be application/json.","field":null,"help":null}]}
Я должен упомянуть, что я пытался отправлять электронные письма, используя «простую» версию, которая есть в Github, я правильно настроил свой apikey и смог отправить электронную почту в простой версии без проблем. Но в расширенной версии мне нужно добавить больше информации, например, имя получателя, а не только его адрес электронной почты.
Я не пользуюсь кампаниями, не извлекаю информацию из базы данных. Я извлекаю информацию из файла CSV.
По ошибке: "message":"Content-Type should be application/json."
Вы убедились, что правильно объявляете заголовок Content-Type?
Других решений пока нет …