传递给Google_Service_Gmail_UsersMessages_Resource :: send()的参数2必须是Google_Service_Gmail_Message的一个实例,给出字符串

时间:2015-10-19 11:28:51

标签: php laravel gmail-api

我正在使用 Laravel 开展 Gmail API

我收到了错误:

  

参数2传递给   Google_Service_Gmail_UsersMessages_Resource :: send()必须是   Google_Service_Gmail_Message的实例,给定字符串

这是Google_Service_Gmail_Message的实例是什么?我正在给string,我应该给什么?

我的代码是

public function sendMessage($message) {
try {
$client = $this->getClient();
$service = new Google_Service_Gmail($client);
$userId = 'me';
$message = "test";
$message = $service->users_messages->send($userId, $message);
print 'Message with ID: ' . $message->getId() . ' sent.';
return $message;
} catch (Exception $e) {
 print 'An error occurred: ' . $e->getMessage();
}
}

带有两个参数的send方法位于line 7

1 个答案:

答案 0 :(得分:2)

//使用PHPMailer准备邮件
$ mail = new PHPMailer();
$ mail-> CharSet =“UTF-8”;
$ mail-> Encoding =“base64”;

//提供您的标题信息,正文等...
$ mail->主题=“你有邮件!”;
...

//创建MIME消息
$ MAIL-> preSend();
$ mime = $ mail-> getSentMIMEMessage();
$ mime = rtrim(strtr(base64_encode($ mime),'+ /',' - _'),'=');

//创建Gmail邮件

  

$ message = new Google_Service_Gmail_Message();

$ MESSAGE-> setRaw($ MIME);
$ message = $ service-> users_messages-> send('me',$ message);