diff --git a/app/Helpers/Mail/GmailTransport.php b/app/Helpers/Mail/GmailTransport.php index 5d52ddc07103..8d2875112063 100644 --- a/app/Helpers/Mail/GmailTransport.php +++ b/app/Helpers/Mail/GmailTransport.php @@ -15,6 +15,7 @@ use App\Libraries\MultiDB; use App\Models\User; use Dacastro4\LaravelGmail\Services\Message\Mail; use Illuminate\Mail\Transport\Transport; +use Swift_Mime_SimpleMessage; /** * GmailTransport @@ -42,7 +43,7 @@ class GmailTransport extends Transport public function __construct(Mail $gmail, string $token) { $this->gmail = $gmail; - $this->token = $token + $this->token = $token; } @@ -54,8 +55,8 @@ class GmailTransport extends Transport $this->gmail->to($message->getTo()); $this->gmail->from($message->getFrom()); $this->gmail->subject($message->getSubject()); - //$this->gmail->message($message->getBody()); - $this->gmail->message($message->toString()); + $this->gmail->message($message->getBody()); + //$this->gmail->message($message->toString()); $this->gmail->cc($message->getCc()); $this->gmail->bcc($message->getBcc()); @@ -65,3 +66,4 @@ class GmailTransport extends Transport return $this->numberOfRecipients($message); } +} \ No newline at end of file diff --git a/app/Helpers/Mail/GmailTransportConfig.php b/app/Helpers/Mail/GmailTransportConfig.php index 7ee046b9cccc..119d374582e5 100644 --- a/app/Helpers/Mail/GmailTransportConfig.php +++ b/app/Helpers/Mail/GmailTransportConfig.php @@ -12,10 +12,12 @@ namespace App\Helpers\Mail; use App\Libraries\MultiDB; +use App\Mail\SupportMessageSent; use App\Models\User; use App\Providers\MailServiceProvider; use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Mail; +use Laravel\Socialite\Facades\Socialite; /** * GmailTransportConfig @@ -30,7 +32,11 @@ class GmailTransportConfig 'email' => 'david@invoiceninja.com', ]; - $user = MultiDB::hasUser($query); + $user = MultiDB::hasUser($query); + // $oauth_user = Socialite::driver('google')->stateless()->userFromToken($user->oauth_user_token); + + // $user->oauth_user_token = $oauth_user->refreshToken; + // $user->save(); Config::set('mail.driver', 'gmail'); Config::set('services.gmail.token', $user->oauth_user_token); diff --git a/app/Helpers/Mail/GmailTransportManager.php b/app/Helpers/Mail/GmailTransportManager.php index 1cdebe70f1c6..b65fa15d13c4 100644 --- a/app/Helpers/Mail/GmailTransportManager.php +++ b/app/Helpers/Mail/GmailTransportManager.php @@ -11,8 +11,9 @@ class GmailTransportManager extends TransportManager protected function createGmailDriver() { $token = $this->app['config']->get('services.gmail.token', []); - - return new GmailTransport(Mail $mail, string $token); + $mail = new Mail; + + return new GmailTransport($mail, string $token); } } \ No newline at end of file diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 9f7e09ec5e5a..437533d524e2 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -280,7 +280,7 @@ class LoginController extends BaseController /* Handle existing users who attempt to create another account with existing OAuth credentials */ if($user = OAuth::handleAuth($socialite_user, $provider)) { - $user->oauth_user_token = $socialite_user->token; + $user->oauth_user_token = $socialite_user->refreshToken; $user->save(); Auth::login($user, true); @@ -303,7 +303,7 @@ class LoginController extends BaseController 'password' => '', 'email' => $socialite_user->getEmail(), 'oauth_user_id' => $socialite_user->getId(), - 'oauth_user_token' => $socialite_user->token, + 'oauth_user_token' => $socialite_user->refreshToken, 'oauth_provider_id' => $provider ];