Aller au contenu

[Résolu] Envoi mail en PHP


Messages recommandés

Bonjour, 

(1er post)

j'ai fait des recherches sur le net et sur le forum , il ne me semble pas avoir trouver réponse à mon problème, d'où mon post

 

Je me sert de mon NAS pour développer des sites / appli avant de les mettre en production chez OVH ou ailleurs, bref ...

et j'ai déjà fait plusieurs fois utiliser les fonctions mail de php et cela a forcement fonctionné, le hic, c'est que j'ai donc basculé sur mon nouveau NAS (je ne sais pas si j'ai testé l'envoi de mail), et que maintenant la fonction mail me renvoie false a chaque fois.

J'ai donc rallumé le "vieux" DS423j , mais ma page de test ne marche pas non plus ! ah ! les boules ... 

 

donc j'aimerais bien arriver a mettre mon DS920+ d'aplomb , ca fait 3 soirs que je suis dessus ca me gonfle un peu 

trêve de blabla des infos concrètes :

  • Serveur WEB

image.png.867e0f98e4e8a456174f4d72a3f28fe9.png

(testé avec le php 7.4 pas mieux)

  • Paramétrage PHP

image.png.7882aad2028a81c6029fa454ae8b566b.png

image.png.1f8c77ab439d5789f21c562292383997.png

image.png.7d323ff5f73f344c56cfdf91a1deccb8.png

pour le smtp , j'ai tenté de mettre directement une adresse gmail avec 

Citation

smtp.gmail.com
587

en paramétrant le compte Gmail pour l'autorisation simplifié (je sais plus le nom exact), mais rien de mieux

  • Mail serveur

J'ai donc installer le Mail serveur (alors que franchement je m'en serai bien passé mais s'il n'y a pas moyen de faire sans ...)

image.png.148ba62b56ba0056cc607033e19504cf.png

image.png.f0e8f5b54a8a4e4df0681c407791f27a.png

 

 

et le code PHP (tiré du net):

<?php
$from = "monexp@gmail.com";
$to      = 'mondest@gmail.com';
$subject = 'le sujet';
$message = 'Bonjour !';

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
if (mail($to, $subject, $message, $headers))
    echo "true";
else
    echo "false";

?>

 

Je pense avoir mis le max d'infos mais si besoin je viendrais compléter

Ca doit être tout con, mais la je pete un câble avec ce problème et il faut que j'avances sur la partie développement ! 😢

Merci d'avance de votre aide !

 

Modifié par Tigris25
correction
Lien vers le commentaire
Partager sur d’autres sites

Il y a 8 heures, cadkey a dit :

Aucun besoin de Mail Serveur pour envoyer un mail en php.

Bonjour, alors oui on est d'accord, mais j'ai tenté plusieurs techniques trouvées sur Internet, en vain, pouvez vous m'aider à le faire sans  ?

car cela ne fonctionne pas et votre réponse n'apporte pas de solution

Merci d'avance

 

Lien vers le commentaire
Partager sur d’autres sites

bonjour,

1/ soit on passe par le parametrage du mail fait dans les notifications du NAS, mais il vaut mieux dans ce cas utiliser un compte mail autre que gmail (le token etablit entre le nas et google n’autorise pas l’envoi de mail via php) genre celui du fai utilise pour la connection
2/ utiliser une bibliothèque php qui s’affranchit de cela en travaillant directement en imap/smtp phpmailer par exemple.

Lien vers le commentaire
Partager sur d’autres sites

il y a 45 minutes, DaffY a dit :

bonjour,

1/ soit on passe par le parametrage du mail fait dans les notifications du NAS, mais il vaut mieux dans ce cas utiliser un compte mail autre que gmail (le token etablit entre le nas et google n’autorise pas l’envoi de mail via php) genre celui du fai utilise pour la connection
2/ utiliser une bibliothèque php qui s’affranchit de cela en travaillant directement en imap/smtp phpmailer par exemple.

1/ J'ai des comptes mails ovh, mais je n'ai pas réussi non plus a faire le lien direct (si vous avez des infos / configs, je prends)

et pas de compte mail FAI (maintenant ce n'est plus automatique), pouvez vous m'aider sur le "paramétrage" car ca je le sais, mais COMMENT / QUOI / OU ? 

2/ d'accord, quoi / comment ?

Comment met on en place phpmailer ? 

 

Je peux comprendre que je demande qu'on me mâche le travail, mais pour l'instant vos réponses sont trop vagues, j'ai besoin de choses précises pour avancer. Si vous savez comment faire, dites-le moi svp.

 

Modifié par Tigris25
Lien vers le commentaire
Partager sur d’autres sites

heu…
une recherche google sur phpmailer apportera tuto videos ..
bref tout le nécessaire pour l’installer, le parametrer
et l’utiliser.
de quoi apporter des précisions

si on pour le parametrage des notifications sur le nas, ne pas hésiter a consulter l’aide en ligne associée, elle permet là encore d’avoir toutes les précisions pour faire.

bon courage

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Daffy, 

 
Merci pour tes pistes et tes conseils, 
 
J’ai essayé de faire le paramétrage des notifications sur le NAS avec mon FAI (Bouygues) mais à priori cela ne fonctionne toujours pas, 
 
Je ne trouve pas sur l’aide en ligne du NAS plus d’informations qui me permettraient de débloquer la situation,
 
Auriez vous l’info pour m’aider à consulter les logs du serveur, j’avoue là je suis bloqué,
 
Merci d’avance pour le coup de main 😉
 
image.png.0256c8d6a2b1c6b820feda2c854770f0.png
testé avec le port 587  également mais ou se paramètre le mot de passe ?
image.png.0a1cae869603f03b286c0bedb3ec7089.png
image.png.0153a6699abb36dc23d77931a9303d7d.png
 

image.png

Lien vers le commentaire
Partager sur d’autres sites

bonjour,

le parametrage indiqué était a faire côté admin du NAS.
Rien de particulier côté couche php.

cela pour permettre le fonctionnement php fonction mail ->service de notification du NAS.

1/ parametrage dans admin puis notification
2/test envoi pour verifier ok
cette étape est détaillée dans l’aide
3/reset du profil php
(pour que le profile.php.ini se reinitialise avec les parametres par defaut)

je préconise un redémarrage a minima de php sinon du nas
a voir si cela fonctionne.

mai tenant cette solution implique malgré tout un balisage propre du message constitué via php (balises headers nottament) pour que les différents services de messagerie ne considere le mail comme du spam/bot.

L’autre solution est d’utiliser une bibliothèque php comme phpmail qui permet alors d’être indépendant de l’infra.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, 

merci DaffY pour ton retour,

donc de ce que je comprends le paramétrage PHP (sendmail_from, SMTP, etc...) dont j'ai mis les valeurs dans mes posts précédents n'est pas utile ? 

Voici donc pas à pas le déroulement des tests 

Il y a 12 heures, DaffY a dit :

1/ parametrage dans admin puis notification
2/test envoi pour verifier ok

Ce paramétrage est fait et fonctionnel 

image.png.63c390c1e21ccd3b8879c61224821c3a.png

le courrier de test est bien reçu

 

Il y a 12 heures, DaffY a dit :

3/reset du profil php

Je n'ai pas trouver de bouton reset sur les profils, j'ai donc créer un nouveau, 

image.png.625e2f684bcebbd75b7c66a77baac01a.png

image.png.fc3c1c37134e58eb952f5a6f7ba163b3.png

image.png.5eb5d7e6c3a37b9d715936063859c5ad.png

oh je vois seulement le réinitialiser la sélection , si c'était ca le reset ok 😅, mais du coup avec un profile "neuf" cela devrait fonctionner aussi, non 🤔

je n'ai donc rien touché à la configuration

j'ai changé le profil dans le serveur 

image.png.40e0ec5b84f35a46747ae3da39fa92f2.png

Redémarrer le webstation -> envoi mail KO🤨

Redémarrer le NAS-> envoi mail KO😬

 

Il y a 13 heures, DaffY a dit :

mai tenant cette solution implique malgré tout un balisage propre du message constitué via php (balises headers nottament) pour que les différents services de messagerie ne considere le mail comme du spam/bot.

J'ai pris un script plus simple d'envoi de mail et qui fonctionne depuis wamp sur mon pc :

<?php
$dest = "pxxxxxxi@gmail.com";
$sujet = "Email de test";
$corp = "Salut ceci est un email de test envoyer par un script PHP";
$headers = "From: pxxxxxxxe@gmail.com";
if (mail($dest, $sujet, $corp, $headers)) {
    echo "Email envoyé avec succès à $dest ...";
} else {
    echo "Échec de l'envoi de l'email...";
}
?>

je n'ai pas plus de succès qu'avec le code de la page php du post d'origine

 

😢 Il me semble avoir compris et suivi tes conseils, si j'ai fait une erreur, je remercie par avance toutes les personnes qui apporteront leurs aides en me notifiant à quel endroit et quel paramétrage faire

 

 

Il y a 13 heures, DaffY a dit :

L’autre solution est d’utiliser une bibliothèque php comme phpmail qui permet alors d’être indépendant de l’infra.

Cette solution ne me convient pas car l'application est déjà déployé sur un serveur de production avec le mail qui fonctionne, je ne veux pas rajouté une librairie juste pour le développement

Toutefois la prochaine fois je miserai directement sur une bibliothèque pour m'éviter ce genre de déconvenue , merci !

 

Merci encore pour les propositions !

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

1/ même si en théorie le renvoi via le smtp de l'email paramètrée dans notification du NAS peut faire passe plat..; l'envoi d'email via PHP avec un from différent de l'email utilisée pour l'envoi des notifications, peut bloquer. (on peut utiliser la balise Reply-To:email@gmail.com à la place en complément)

2/ le format des headers est important pour éviter le rejet des serveurs de mails genre :
/* Créer les en-têtes de courriel */
                    $headers=array();
                    $headers[0] = "From: " . $sendername . " <" . $sender . ">\n" ;
                    $headers[0] .= "Cc: " . $copyrecipient . "\nBcc: " . $destmail_ko . "\n";
                    $headers[0] .= "MIME-Version: 1.0\n";
                    $headers[0] .= "Content-type: text/html; charset=utf-8\n";
                    $headers[0] .= "Return-Path: " . $sender . "\n";
                    $headers[0] .= "X-Mailer: PHP/" . phpversion();

3/ même sous DSM 7 certaines actions ne se défont pas toujours correctement... ie changement de mail d'un type GMAIL/outlook/ou autre service via authentification token vus email paramètrée façon smtp.. ça fonctionne pour la notification, mais le lien vers l'étage du dessous (couche ssmtp) non... on lui force un peu la main et ça roule en général...

accès SSH ou telnet au NAS en mode root pour copier les fichier text ci-dessous dans le dossier etc/ssmtp

[suppose de savoir ce que l'on fait ici]

2 fichiers requis sous etc/ssmtp
- ssmtp.conf
- revaliases

Dans sssmtp.conf on doit avoir

mailhub=smtp.$SERVEUR:$PORT
UseSTARTTLS=$YESNO
AuthUser=$EMAIL
AuthPass=$MDP
AuthMethod=LOGIN

détail des variables à changer

$SERVEUR= serveur de mail visé
$PORT : port utilisé
$SSL utilisé : YES ou NO
$EMAIL : email expediteur

Et dans revaliases

root:$EMAIL_EXP:smtp.$M_SMTP:$M_PORT

$EMAIL_EXP email expediteur telle que paramétrée dans notification du NAS
$M_SMTP:$M_PORT nom du serveur de mail (smtp) et port concerné (comme paramètrée dans notification mail)

Bien sur cela suppose que le profil PHP et ses paramètres associées soient totalement neutres des paramètres modifiés précédemment (profil par défaut)

Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, DaffY a dit :

accès SSH ou telnet au NAS en mode root pour copier les fichier text ci-dessous dans le dossier etc/ssmtp

[suppose de savoir ce que l'on fait ici]

2 fichiers requis sous etc/ssmtp
- ssmtp.conf
- revaliases

Dans sssmtp.conf on doit avoir

mailhub=smtp.$SERVEUR:$PORT
UseSTARTTLS=$YESNO
AuthUser=$EMAIL
AuthPass=$MDP
AuthMethod=LOGIN

détail des variables à changer

$SERVEUR= serveur de mail visé
$PORT : port utilisé
$SSL utilisé : YES ou NO
$EMAIL : email expediteur

Et dans revaliases

root:$EMAIL_EXP:smtp.$M_SMTP:$M_PORT

$EMAIL_EXP email expediteur telle que paramétrée dans notification du NAS
$M_SMTP:$M_PORT nom du serveur de mail (smtp) et port concerné (comme paramètrée dans notification mail)

Milles MERCI !!

enfin cela fonctionne !

 

Il y a 3 heures, DaffY a dit :

[suppose de savoir ce que l'on fait ici]

et je rajouterai, passer en root pour pouvoir éditer les fichiers ^^

Lien vers le commentaire
Partager sur d’autres sites

  • Tigris25 a modifié le titre en [Résolu] Envoi mail en PHP
  • DaffY a modifié le titre en [Résolu] Envoi mail en PHP
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.