getOriginalMessage()); $token = $message->getHeaders()->get('gmailtoken')->getValue(); $message->getHeaders()->remove('gmailtoken'); $client = new Client(); $client->setClientId(config('ninja.auth.google.client_id')); $client->setClientSecret(config('ninja.auth.google.client_secret')); $client->setAccessToken($token); $service = new Gmail($client); $body = new Message(); $bccs = $message->getHeaders()->get('Bcc'); $bcc_list = ''; if($bccs) { $bcc_list = 'Bcc: '; foreach($bccs->getAddresses() as $address){ $bcc_list .= $address->getAddress() .','; } $bcc_list = rtrim($bcc_list, ",") . "\r\n"; } $body->setRaw($this->base64_encode($bcc_list.$message->toString())); $service->users_messages->send('me', $body, []); } private function base64_encode($data) { return rtrim(strtr(base64_encode($data), ['+' => '-', '/' => '_']), '='); } public function __toString(): string { return 'gmail'; } }