2. Check Blocked/MFA PowerShell
Teste connexion SMTP pour détecter si compte bloqué ou MFA activé.
📥 IN: admin_email, admin_password
📤 OUT: status (Active/Blocked/MFA_Required)
🖥️ IMPACT:
office-accounts-edit.php → colonne "Status" mise à jour |
office-management.php → filtres par status
3. Remove MFA MANUEL noVNC
Désactive MFA + Security Defaults via portail Azure. Ouvre Chrome dans noVNC.
📥 IN: admin_email, admin_password, CAPTCHA manuel
📤 OUT: MFA OFF, Security Defaults OFF
🖥️ IMPACT:
office-accounts-edit.php → status passe de "MFA_Required" à "Active" |
Permet les étapes suivantes (API Graph)
4. Change Password PowerShell
Génère nouveau mot de passe sécurisé, sauvegarde l'ancien dans historique.
📥 IN: admin_email, admin_password (ancien)
📤 OUT: admin_password (nouveau), old_passwords[]
🖥️ IMPACT:
office-accounts-edit.php → "Password" mis à jour + section "Historique Credentials" (3 derniers backups)
5. Azure App + Credentials PowerShell
Crée App Azure AD avec permissions: Mail.Send, Domain.ReadWrite.All, User.Read.All
📥 IN: admin_email, admin_password
📤 OUT: app_id, app_secret, tenant_id
🖥️ IMPACT:
office-accounts-edit.php → section "Azure App Credentials" (Client ID, Secret, Tenant) |
Requis pour Steps 6,7,9
6. Check Domains PowerShell
Liste domaines existants du tenant O365 via API Graph, synchronise avec DB locale.
📥 IN: app_id, app_secret, tenant_id
📤 OUT: domains_list[], domains_pool sync
🖥️ IMPACT:
office-accounts-edit.php → section "Domaines Ajoutés et Vérifiés" |
domains-management.php → Pool Domaines mis à jour (provider=office365)
7. Cloudflare Domains Python
Crée 5 sous-domaines aléatoires CF + DNS (MX,SPF,Autodiscover) + ajout O365 + vérif TXT auto.
📥 IN: account_id, CF zone_id, CF api_key, O365 creds
📤 OUT: 5 domaines VERIFIED, DNS records, DB sync
🖥️ IMPACT:
domains-management.php → 5 nouveaux domaines (provider=cloudflare, status=VERIFIED) |
office-accounts-edit.php → +5 domaines vérifiés |
Cloudflare → DNS records créés
8. FreeDNS Domains Python/Selenium CAPTCHA
Crée 5 sous-domaines FreeDNS → pointent vers 151.80.235.110 → vérif via fichier HTTP.
📥 IN: FreeDNS login, base_domain, CAPTCHA manuel
📤 OUT: 5 sous-domaines, fichiers /.well-known/
🖥️ IMPACT:
freedns-config.php → nouveaux domaines disponibles |
Serveur 151.80.235.110 → fichiers vérification créés |
domains-management.php → provider=freedns
9. Add Domain to Office Python
Ajoute domaines sélectionnés à O365 via API Graph + crée TXT verif + vérifie.
📥 IN: domain, app_id, app_secret, tenant_id
📤 OUT: domain verified O365, TXT record
🖥️ IMPACT:
domains-management.php → status PENDING→VERIFIED |
office-accounts-edit.php → domaine apparaît vérifié |
O365 Admin → domaine visible
10. Config Exchange PowerShell
Configure Exchange Online: domaines acceptés, règles transport pour routage emails.
📥 IN: admin_email, admin_password, domains_list
📤 OUT: Accepted domains, Transport rules
🖥️ IMPACT:
Exchange Admin Center → Mail flow > Accepted domains |
Console Output → liste domaines configurés
11. Anti-Spam PowerShell
Configure 15 règles anti-spam Exchange: désactive filtres agressifs, whitelist IPs PMTA.
📥 IN: admin credentials, PMTA IPs list
📤 OUT: 15 spam rules, IP whitelist
🖥️ IMPACT:
Exchange Admin → Protection > Spam filter policies |
Améliore délivrabilité des emails sortants
12. Add Connector PowerShell
Crée connecteur sortant Exchange qui route emails vers serveurs PMTA (smart host).
📥 IN: admin creds, PMTA IPs, domains
📤 OUT: Outbound connector, Smart host
🖥️ IMPACT:
Exchange Admin → Mail flow > Connectors |
Emails sortants passent par PMTA
13. Finalisation
Vérifie toutes les étapes complétées et marque le compte comme "Ready".
📥 IN: account_id, previous steps OK
📤 OUT: status = "Ready"
🖥️ IMPACT:
office-accounts-edit.php → Status = Ready (vert) |
office-management.php → compte filtrable par "Ready" |
Compte utilisable pour envoi emails
Boutons Console (Header)
🖥️ VNC - Ouvre noVNC pour voir/interagir avec Chrome (CAPTCHA, portail Azure)
🔄 Réanimer - Redémarre XVFB + x11vnc + noVNC si bloqué
⏹️ Stop - Tue tous les process Chrome/VNC
✅ Auto
⚠️ CAPTCHA
🖐️ Manuel
💻 PowerShell
🐍 Python