PHP Gmail API: можно отправлять электронную почту, но как добавить электронную почту получателя

У меня есть рабочий код gmail api php, взятый из https://github.com/google/google-api-php-client/

Я могу отправить электронное письмо со следующим кодом, но без получателя. В отправленных сообщениях Gmail я также вижу сообщение отправлено!

$mime = rtrim(strtr(base64_encode($_POST["message"]), '+/', '-_'), '=');
$msg = new Google_Service_Gmail_Message();
$msg->setRaw($mime);
$x = $service->users_messages->send("me", $msg);

Как добавить адрес электронной почты получателя? В нескольких постах я читал, что To следует добавить в шапку.

4

Решение

Да, добавьте к сообщению электронной почты заголовки «Кому», «Копия» или «Скрытая копия». В вашем случае это строка $ _POST [«message»] или, что еще лучше, какой-нибудь объект сообщения электронной почты, использующий стандартную библиотеку электронной почты php.

Увидеть:
https://developers.google.com/gmail/api/v1/reference/users/messages/send
https://developers.google.com/gmail/api/guides/sending

0

Другие решения

Вы должны передать необработанное письмо классу \ Google_Service_Gmail_Message ().
Это необработанное сообщение должно быть MIME-сообщением в кодировке base64. Почти все, что ты сделал.

НО: вам не нужно передавать тело письма (например, содержимое адреса электронной почты), а буквально все письмо — с заголовками. Так не $_POST["message"] должен быть передан, но подготовленное письмо, которое имеет все необходимые заголовки, включая TO, FROM и т. д. Вот пример:

From: [email protected]
To: [email protected]
Subject: YOUR CUSTOM SUBJECT
Content-Type: text/plain; charset=UTF-8
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=5ae50a40c56153a0ca99d08aaf8f99d53f63981962d4f199b2339614636b

--5ae50a40c56153a0ca99d08aaf8f99d53f63981962d4f199b2339614636b
YOUR CUSTOM EMAIL CONTENT GOES HERE. Might be a mix of html and plain text.
--5ae50a40c56153a0ca99d08aaf8f99d53f63981962d4f199b2339614636b--

Гораздо лучше использовать что-то вроде PHPMailer класс, чтобы подготовить для вас всю версию письма MIME, где вы просто передаете его общедоступным методам необходимые данные, тему, FROM, TO, тело и т. д., а затем запрашиваете MIME с помощью одного такого метода, как этот $phpmailer->getSentMIMEMessage(),

0

По вопросам рекламы [email protected]