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

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";
}