bonjour ,

Je voudrais savoir ce que pensiez de la fonction qu'offre php pour l'envoie de mail avec la fonction mail() ?
-Est elle fiable ? Si non qu'existe t-il comme alternative ?

merci d'avance,

Bonne journée,

11 réponses


Bonjour,
Tout dépend du nombre de mail à envoyer, du contenu.
Je l'utilise pour des petits sites.
Sinon il y a phpmailer qui est plus complet et avec plus de paramètre

Merci de ta reponse ;)

la fonction email() est pas facile à utiliser. Tu dois créer ton email de A à Z (et pas seulement mettre le message le destinataire et basta). Je te recommande vivement PHPMailer qui offre une interface plus intuitive ;)

Bonjour, je te conseille d'utiliser PHPMailer ou swiftmailer qui sont toutes les deux des librairies php. Prenons le cas de PHPMailer, tu peux l'utiliser de la façon suivante:

<?php
require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

//$mail->SMTPDebug = 3;                               // Enable verbose debug output

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'user@example.com';                 // SMTP username
$mail->Password = 'secret';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to

$mail->setFrom('from@example.com', 'Mailer');
$mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient
$mail->addAddress('ellen@example.com');               // Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

Si tu souhaite plus d'information à ce sujet, tu peux te rendre sur le repo git => https://github.com/PHPMailer/PHPMailer

Pour info : dans le tuto DKIM & SPF , Graf utilise Swiftmailer
ça permet de signer les mails DKIM

Swiftmailer est tout aussi bien oui :) surtout pour les normes d'envoie comme Huggy le suggère .

Merci pour vos réponses, j'utilise maintenant la class phpmailer, j'arrive à envoyer les mail cest bon !
Je reviendrais vers vous si j'ai des soucis , merci en tout cas !

Hésite pas à placer le sujet en "résolus", à bientôt

re bonjour à tous !

J'ai un petit probleme que je ne vois pas comment résoudre, lorsque j'arrive sur la page concernée pour envoyer le mail, le code essaie d'envoyer un mail sans avoir attendu que la personne ne rentre ses coordonnées et evidement comment quand on arrive sur la pages les coordonnées sont vides, il y a mon message d'erreur qui s'affiche car le mail n'a pas été envoyer.
Auriez vous une solution pour que cela soit uniquement quand on appuie sur le bouton submit que cela envoie le mail ?

Merci d'avance.

Si vous avaez fait une monopage (formulaire et php sur la même page), il vous faut tester la présence de $_POST afin de ne pas envoyer d'email si rien n'ai saisi dans le formulaire

daccord merci, avec une nouvelle page cest bon :)