What are best practices for securely accessing Gmail emails using PHP?

To securely access Gmail emails using PHP, it is recommended to use OAuth 2.0 for authentication instead of storing and using passwords directly in your code. This helps to prevent unauthorized access to your Gmail account and ensures better security for your application.

<?php
require_once 'vendor/autoload.php';

$client = new Google_Client();
$client->setAuthConfig('credentials.json');
$client->addScope(Google_Service_Gmail::GMAIL_READONLY);
$client->setAccessType('offline');

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
  $client->setAccessToken($_SESSION['access_token']);
  
  if ($client->isAccessTokenExpired()) {
    $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
    $_SESSION['access_token'] = $client->getAccessToken();
  }
} else {
  $authUrl = $client->createAuthUrl();
  header('Location: ' . filter_var($authUrl, FILTER_SANITIZE_URL));
}

$service = new Google_Service_Gmail($client);
$results = $service->users_messages->listUsersMessages('me');

foreach ($results->getMessages() as $message) {
  $msg = $service->users_messages->get('me', $message->getId());
  echo 'Message snippet: ' . $msg->getSnippet() . '<br>';
}
?>