Я использую конечную точку sendgrid API v3 для отправки электронного письма. Я могу успешно отправить электронное письмо, например:
curl --request POST \
--url https://api.sendgrid.com/v3/mail/send \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"personalizations": [{"to": [{"email": "recipient@example.com"}]}],"from": {"email": "sendeexampexample@example.com"},"subject": "Hello, World!","content": [{"type": "text/plain", "value": "test!"}]}'
Однако я хотел бы заменить тело сообщения на HTML, я изменил тип содержимого на text / html, и он работает очень небольшая строка html, однако новые строки разбивают ее и не удается отправить, и я получаю сообщение об ошибке:
{"errors":[{"message":"Bad Request","field":null,"help":null}]}
В идеале я хотел бы сохранить тело HTML в качестве переменной и отправить электронное письмо как this:
$messagebody="<b> test</b>"
curl --request POST \
--url https://api.sendgrid.com/v3/mail/send \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"personalizations": [{"to": [{"email": "recipient@example.com"}]}],"from": {"email": "sendeexampexample@example.com"},"subject": "Hello, World!","content": [{"type": "text/plain", "value": "$messagebody!"}]}'
Но я получаю электронное письмо, содержащее '$ messagebody', а не содержимое переменной, как я могу отправить html электронное письмо?