Files
wevads-platform/scripts/test_imap.php
2026-02-26 04:53:11 +01:00

73 lines
2.3 KiB
PHP
Executable File

#!/usr/bin/php
<?php
/**
* Test IMAP Connection Script
* Usage: php test_imap.php <email> <password> <imap_host> [port]
*/
if ($argc < 4) {
echo "Usage: php test_imap.php <email> <password> <imap_host> [port]\n";
echo "Example: php test_imap.php test@gmail.com 'apppassword' imap.gmail.com 993\n";
exit(1);
}
$email = $argv[1];
$password = $argv[2];
$host = $argv[3];
$port = $argv[4] ?? 993;
echo "Testing IMAP connection...\n";
echo "Email: $email\n";
echo "Host: $host:$port\n\n";
$mailbox = '{' . $host . ':' . $port . '/imap/ssl}INBOX';
echo "Connecting to: $mailbox\n";
$startTime = microtime(true);
$imap = @imap_open($mailbox, $email, $password);
$elapsed = round((microtime(true) - $startTime) * 1000);
if ($imap) {
echo "✅ SUCCESS! Connected in {$elapsed}ms\n\n";
// Get mailbox info
$info = imap_mailboxmsginfo($imap);
echo "📬 Mailbox Info:\n";
echo " Total messages: {$info->Nmsgs}\n";
echo " Recent: {$info->Recent}\n";
echo " Unread: {$info->Unread}\n";
echo " Size: " . round($info->Size / 1024) . " KB\n";
// Check for spam folder
$folders = imap_list($imap, '{' . $host . ':' . $port . '/imap/ssl}', '*');
echo "\n📁 Available folders:\n";
foreach ($folders as $folder) {
$folderName = str_replace('{' . $host . ':' . $port . '/imap/ssl}', '', $folder);
echo " - $folderName\n";
}
imap_close($imap);
echo "\n✅ Connection test PASSED!\n";
} else {
echo "❌ FAILED!\n";
echo "Error: " . imap_last_error() . "\n";
// Suggestions
echo "\n💡 Suggestions:\n";
if (strpos($host, 'gmail') !== false) {
echo " - For Gmail, you need an App Password (not regular password)\n";
echo " - Enable 2FA first, then create App Password at:\n";
echo " https://myaccount.google.com/apppasswords\n";
echo " - Also enable IMAP in Gmail settings\n";
} elseif (strpos($host, 'outlook') !== false || strpos($host, 'office365') !== false) {
echo " - For Outlook/Office365 with 2FA, use App Password\n";
echo " - Make sure IMAP is enabled in account settings\n";
} else {
echo " - Check if IMAP is enabled in email settings\n";
echo " - Verify email and password are correct\n";
echo " - Try with port 993 (SSL) or 143 (TLS)\n";
}
exit(1);
}