Bonjour à tous,

Je suis en train de créer un espace membre.
Je souhaite tester l'envoi du mail de confirmation de création du compte en LOCAL. Et je n'y arrive pas. Le mail ne part ou n'arrive jamais. Je désespère

J'ai pour cela, j'installé maildev.

Mon gros pb, est que je n'arrive pas à envoyer un email depuis mon localhost. Si j'ai bien compris, maildev récupère les emails sortant pour pas polluer les boites mails. Mais il ne les envoi pas. Du coup mon blocage, je pense, est sur l'envoi.

J'ai fouillé de partout sur ce forum, et sur le net pendant plusieurs jours sans résultat.

J'ai fais toutes les modification possible du fichier "php.ini".
rien ne fonctionne.
Pourtant mon script fait comme si tout fonctionnait, et que le mail était parti.

Si vous pouviez me donner un coup de pouce.
Je vous en remercie.

Voici le code de mon envoi du mail de confirmation :

if(empty($errors)){

    $req = $pdo->prepare("INSERT INTO users SET username = ?, password = ?, email = ?, confirmation_token = ?");
    $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
    $token = str_random(60);
    $req->execute([$_POST['username'], $password, $_POST['email'], $token]);
    $user_id = $pdo->lastInsertId();
    mail($_POST['email'], 'Confirmation de votre compte', "Afin de valider votre compte merci de cliquer sur ce lien\n\nhttp://localhost:8888/Mon%20Espace%20Membre/register.php?id=$user_id&token=$token");
    $_SESSION['flash']['success'] = 'Un email de confirmation vous a été envoyé pour valider votre compte';
    header('Location: login.php');
    exit();
}

Et voici mon fichier php.ini : (j'ai inséré des commentaires entre () afin de ne pas communiquer mes informations personnelles.

[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com   (je dois modifier qqch ici ?)

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path =/usr/sbin/sendmail -t -i -f (monemailperso)

Merci de votre aide.

Pour info, je suis sur Max OS SIERRA - php 7.0.1 - MAMP - et mon FAI est Free.

4 réponses


Pourquoi te compliquer la vie, passe par le smtp de ton FAI

TonyKer
Auteur

Bonjour Huggy, merci du conseil, mais je n'arrive pas à le faire non plus.
Je n'y connais rien.

Comment on fait pour passer par ce fameux FAI.
Il faut mettre quelque part ses identifiants et mot de passe je suppose, et je ne sais pas ou les entrer.

J'ai créé une adresse email sur free justement pour le faire, ainsi qu'activé le smtp externe.
Mais je ne sais pas comment ordonner à mon script php, ou à MAMP, de passer les envoi des mails par cette manière.

C'est sur ça que j'ai besoin d'aide.
Si tu connais, je suis preuneur :):)
Merci

Normalement il suffit d'indiquer smtp.free.fr sur port 25
le fait d'être sur le réseau Free t'autorise à envoyer des mails sans authentification

TonyKer
Auteur

ok merci, mais je n'arrive pas à le faire fonctionner.

Huggyn tu pourrais juste me donner un coup de main rapide sur skype ?
ajoute moi stp, tonyker.mlm

Merci beaucoup