> ## Documentation Index
> Fetch the complete documentation index at: https://help.onetsolutions.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Email PHP (SMTP)

> Envoyez des emails depuis PHP en utilisant l'authentification SMTP

Pour garantir la délivrabilité et la sécurité des emails, nous vous recommandons d'utiliser l'authentification SMTP plutôt que la fonction PHP `mail()`.

<Warning>
  La fonction PHP `mail()` est désactivée sur nos serveurs pour des raisons de sécurité. Elle ne propose aucune authentification et est fréquemment exploitée par des scripts malveillants.
</Warning>

## Utiliser PHPMailer avec SMTP

<Info>
  **Prérequis**

  * Un service d'hébergement web chez OnetSolutions
  * Un compte email créé dans cPanel
  * La bibliothèque PHPMailer installée dans votre projet
</Info>

### Installation

Téléchargez PHPMailer depuis le [dépôt GitHub officiel](https://github.com/PHPMailer/PHPMailer) ou installez-la via Composer :

```bash theme={null}
composer require phpmailer/phpmailer
```

### Configuration SMTP

```php theme={null}
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {
    // Paramètres SMTP
    $mail->isSMTP();
    $mail->Host = 'mail.yourdomain.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your-email@yourdomain.com';
    $mail->Password = 'your-email-password';
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port = 587;

    // Contenu de l'email
    $mail->setFrom('your-email@yourdomain.com', 'Your Name');
    $mail->addAddress('recipient@example.com', 'Recipient Name');
    $mail->Subject = 'Subject of your email';
    $mail->Body = 'Content of your email';

    $mail->send();
    echo 'Email sent successfully!';
} catch (Exception $e) {
    echo "Error: {$mail->ErrorInfo}";
}
```

## Paramètres SMTP

<Info>
  Utilisez ces paramètres pour configurer votre application PHP afin d'envoyer des emails.
</Info>

| Paramètre         | Valeur                       |
| ----------------- | ---------------------------- |
| Hôte              | `mail.yourdomain.com`        |
| Port              | 587 (TLS) ou 465 (SSL)       |
| Chiffrement       | STARTTLS ou SSL              |
| Nom d'utilisateur | Votre adresse email complète |
| Mot de passe      | Votre mot de passe email     |

<Warning>
  **Bonne pratique de sécurité** : ne codez jamais en dur vos identifiants email dans votre code. Utilisez des variables d'environnement ou un fichier de configuration situé hors de la racine web pour stocker les informations sensibles.
</Warning>

<Tip>
  Testez votre configuration email en envoyant un message de test à vous-même avant de déployer en production.
</Tip>
