98 lines
2.7 KiB
PHP
98 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* TEST EMAIL via O365 SMTP
|
|
*/
|
|
|
|
$pdo = new PDO("pgsql:host=localhost;dbname=adx_system", "admin", "admin123");
|
|
|
|
// Récupérer un compte O365 actif
|
|
$account = $pdo->query("SELECT admin_email, admin_password FROM admin.office_accounts WHERE status = 'Active' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if (!$account) {
|
|
die("❌ Aucun compte O365 actif\n");
|
|
}
|
|
|
|
$smtpUser = $account['admin_email'];
|
|
$smtpPass = $account['admin_password'];
|
|
$to = $argv[1] ?? 'Joecloud0101@proton.me';
|
|
|
|
echo "📧 SMTP User: $smtpUser\n";
|
|
echo "📬 To: $to\n";
|
|
echo str_repeat("-", 50) . "\n";
|
|
|
|
// Utiliser PHPMailer ou fsockopen
|
|
$subject = "🧠 WEVADS Brain Test - " . date('H:i:s');
|
|
$body = "<html><body style='font-family:Arial;padding:20px;'>
|
|
<h1 style='color:#a855f7;'>🧠 WEVADS Brain Engine</h1>
|
|
<h2 style='color:#22c55e;'>✅ Test Email Réussi!</h2>
|
|
<p>Date: " . date('Y-m-d H:i:s') . "</p>
|
|
<p>From: $smtpUser</p>
|
|
<p>To: $to</p>
|
|
</body></html>";
|
|
|
|
// Simple SMTP via stream
|
|
$smtp = fsockopen("tls://smtp.office365.com", 587, $errno, $errstr, 30);
|
|
if (!$smtp) {
|
|
// Try without TLS wrapper
|
|
$smtp = fsockopen("smtp.office365.com", 587, $errno, $errstr, 30);
|
|
if (!$smtp) {
|
|
die("❌ Connection failed: $errstr ($errno)\n");
|
|
}
|
|
}
|
|
|
|
echo "✅ Connected to SMTP\n";
|
|
|
|
function smtp_read($smtp) {
|
|
$response = "";
|
|
while ($line = fgets($smtp, 515)) {
|
|
$response .= $line;
|
|
if (substr($line, 3, 1) == " ") break;
|
|
}
|
|
return $response;
|
|
}
|
|
|
|
function smtp_cmd($smtp, $cmd) {
|
|
fputs($smtp, $cmd . "\r\n");
|
|
return smtp_read($smtp);
|
|
}
|
|
|
|
$r = smtp_read($smtp); echo "< $r";
|
|
$r = smtp_cmd($smtp, "EHLO wevads.com"); echo "EHLO: " . substr($r, 0, 50) . "...\n";
|
|
$r = smtp_cmd($smtp, "STARTTLS"); echo "STARTTLS: $r";
|
|
|
|
if (strpos($r, "220") !== false) {
|
|
stream_socket_enable_crypto($smtp, true, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT);
|
|
$r = smtp_cmd($smtp, "EHLO wevads.com");
|
|
}
|
|
|
|
$r = smtp_cmd($smtp, "AUTH LOGIN"); echo "AUTH: $r";
|
|
$r = smtp_cmd($smtp, base64_encode($smtpUser));
|
|
$r = smtp_cmd($smtp, base64_encode($smtpPass)); echo "Login: $r";
|
|
|
|
if (strpos($r, "235") === false) {
|
|
die("❌ Auth failed\n");
|
|
}
|
|
|
|
$r = smtp_cmd($smtp, "MAIL FROM:<$smtpUser>"); echo "FROM: $r";
|
|
$r = smtp_cmd($smtp, "RCPT TO:<$to>"); echo "RCPT: $r";
|
|
$r = smtp_cmd($smtp, "DATA"); echo "DATA: $r";
|
|
|
|
$msg = "From: WEVADS Brain <$smtpUser>\r\n";
|
|
$msg .= "To: $to\r\n";
|
|
$msg .= "Subject: $subject\r\n";
|
|
$msg .= "MIME-Version: 1.0\r\n";
|
|
$msg .= "Content-Type: text/html; charset=UTF-8\r\n\r\n";
|
|
$msg .= $body . "\r\n.\r\n";
|
|
|
|
fputs($smtp, $msg);
|
|
$r = smtp_read($smtp); echo "Send: $r";
|
|
|
|
smtp_cmd($smtp, "QUIT");
|
|
fclose($smtp);
|
|
|
|
if (strpos($r, "250") !== false) {
|
|
echo "\n✅ EMAIL ENVOYÉ! Vérifie $to\n";
|
|
} else {
|
|
echo "\n❌ Échec envoi\n";
|
|
}
|