📄 Source: debug_email.php
<?php
session_start();
require_once 'vendor/autoload.php';
if (!isset($_SESSION['access_token'])) {
die("Not logged in. Please login first.");
}
$client = new Google\Client();
$client->setAccessToken($_SESSION['access_token']);
$service = new Google\Service\Gmail($client);
// Find the ChatGPT email
$optParams = ['q' => 'from:chatgpt OR from:openai', 'maxResults' => 5];
$messages = $service->users_messages->listUsersMessages('me', $optParams);
echo "<h2>Debug: Finding ChatGPT emails</h2>";
if ($messages->getMessages()) {
foreach ($messages->getMessages() as $msg) {
$message = $service->users_messages->get('me', $msg->getId(), ['format' => 'full']);
$payload = $message->getPayload();
// Get headers
$headers = $payload->getHeaders();
echo "<h3>Email: " . $msg->getId() . "</h3>";
foreach ($headers as $header) {
if ($header->getName() == 'From') echo "<strong>From:</strong> " . htmlspecialchars($header->getValue()) . "<br>";
if ($header->getName() == 'Subject') echo "<strong>Subject:</strong> " . htmlspecialchars($header->getValue()) . "<br>";
if ($header->getName() == 'Date') echo "<strong>Date:</strong> " . htmlspecialchars($header->getValue()) . "<br>";
}
// Show MIME structure
echo "<strong>MIME Structure:</strong><br>";
echo "<pre>";
print_r([
'has_body' => $payload->getBody() ? 'Yes' : 'No',
'body_size' => $payload->getBody() ? strlen($payload->getBody()->getData() ?? '') : 0,
'has_parts' => $payload->getParts() ? count($payload->getParts()) : 0,
'part_types' => $payload->getParts() ? array_map(function($p) { return $p->getMimeType(); }, $payload->getParts()) : []
]);
echo "</pre>";
// Try to extract body
function extractBody($part) {
if ($part->getBody() && $part->getBody()->getData()) {
$data = $part->getBody()->getData();
$decoded = base64_decode(strtr($data, '-_', '+/'));
return substr($decoded, 0, 500);
}
return null;
}
// Check direct body
$body = extractBody($payload);
if ($body) {
echo "<strong>Direct Body:</strong><br>";
echo "<pre>" . htmlspecialchars($body) . "</pre><br>";
}
// Check parts
if ($payload->getParts()) {
foreach ($payload->getParts() as $i => $part) {
echo "<strong>Part " . ($i+1) . " - " . $part->getMimeType() . ":</strong><br>";
$partBody = extractBody($part);
if ($partBody) {
echo "<pre>" . htmlspecialchars(substr($partBody, 0, 500)) . "</pre><br>";
}
// Check nested parts
if ($part->getParts()) {
foreach ($part->getParts() as $j => $subPart) {
echo "<strong> Subpart " . ($j+1) . " - " . $subPart->getMimeType() . ":</strong><br>";
$subBody = extractBody($subPart);
if ($subBody) {
echo "<pre>" . htmlspecialchars(substr($subBody, 0, 500)) . "</pre><br>";
}
}
}
}
}
echo "<hr>";
}
} else {
echo "No ChatGPT emails found.";
}
?>
← Back