Page 1 sur 1

aide fonction mail()

Posté : 10 juin 2022, 16:24
par new_michael
Bonjour à tous,

Je récupère les données d'un formulaire avec un fichier PHP, celui-ci envoi un mail et génère un fichier csv
du moins jusqu'à hier

tout cela fonctionnait parfaitement mais depuis hier je ne reçois plus les mails par contre le fichier csv lui se remplit bien
le site est hébergé chez ovh et je me demande si ce n'est pas ça le pb :oops:

voici mon code :

<?php

session_start();


/* Simple order form script
Uses $_POST variables: numero
**/


$numero = htmlspecialchars($_POST['numero']);


/* You can edit the templates below to customize reservation emails. Remember to change $mail_address to your email address. */
$mail_subject = "Rappel Clients (".$_SESSION['utm_source'].")";
$mail_content = "Rappel automatique \r\n \r\n

Numéro a rappeler : ".$numero."\r\n";



$mail_address = "monEmail"; /* Your email **/

$mail_content = wordwrap($mail_content, 70, "\r\n");
$headers = 'X-Mailer: PHP/'.phpversion();
mail($mail_address, $mail_subject, $mail_content, $headers);


$dt = date("ym");
$dt2 = date("d/m/y H:i");

if (!file_exists("Files/Rappel-Clients-".$dt.".csv" )) {
// le fichier n'existe pas
$fd = fopen("Files/Rappel-Clients-".$dt.".csv","x+");
fwrite($fd,'Date');
fwrite($fd,";");
fwrite($fd,'Source');
fwrite($fd,";");
fwrite($fd,'Telephone');
fwrite($fd,";");
fwrite($fd,"\n"); //A LA FIN ON BOUGE PAS

} else {
// le fichier existe
$fd = fopen("Files/Rappel-Clients-".$dt.".csv","a+");
}

fwrite($fd,$dt2);
fwrite($fd,";");
fwrite($fd,$_SESSION['utm_source']);
fwrite($fd,";");
fwrite($fd,$numero);
fwrite($fd,";");
fwrite($fd,"\n"); //A LA FIN ON BOUGE PAS
fclose($fd);


header('Location:/index.php');
?>

Re: aide fonction mail()

Posté : 10 juin 2022, 18:23
par abmag
Je n'ai pas compris si le mail était envoyé par OVH.
Chez Nuxit il faut maintenant que l'expéditeur soit dans le domaine ou est hébergé le script Php
Par exemple si le site web toto.com envoie un mail l'expéditeur doit être [email protected]

Re: aide fonction mail()

Posté : 10 juin 2022, 20:12
par new_michael
les mails sont envoyés directement du serveur OVH et je ne sais pas pourquoi cela ne fonctionne plus

Re: aide fonction mail()

Posté : 10 juin 2022, 20:54
par Dsynx
un bug coté serveur SMTP de OVH; fait juste une fonction mail simple donné dans l'exemple du manuel php.
normalement tu as rien à faire de ton coté. tu rempli les donnés de la fonction mail() php et ça marche. que si le SMTP est fonctionnel.

et dans le php.ini normalement il est possible de configurer le serveur d’accès
SMTP = 127.0.0.1
smtp_port = 25

si tu n'as pas accès que php.ini
il est possible d'activé ces informations en début de script
ini_set("SMTP","smtp.example.com" );
ini_set('sendmail_from', '[email protected]');
ini_set('smtp_port', '25');
tu peux aussi savoir comment est configurer le SMTP dans php avec phpinfo();
comme tu peux le voir mon copier coller de mon serveur local
SMTP	localhost	localhost
smtp_port	25	25

Re: aide fonction mail()

Posté : 11 juin 2022, 00:20
par new_michael
Bonjour Dsynx,

je pense que tu as la solution à mon pb

voici les infos que je retrouve avec php info
sendmail_from [email protected] [email protected]
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
serialize_precision -1 -1
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25

ini_set("SMTP","ssl0.ovh.net" );
ini_set('sendmail_from', '[email protected]');
ini_set('25', '25');

est ce que je dois intégrer ça a mon fichier php?
Merci pour ton aide
Michael

Re: aide fonction mail()

Posté : 11 juin 2022, 14:48
par Dsynx
oui et non; en général le ini_set c'est pour contourné quand tu n'as pas accès au fichier de configuration le "php.ini"
tu as une petit erreur dans le dernier ini_set je te rectifier cela :
<?php 
/* 
! Attention :
- problématique d’accès au php.ini j'ai donc temporairement 
  reconfigurer les variable à l'utilisation du SMTP via la fonction
  ini_set pour les spécificités suivante : 
  SMTP
  sendmail_from
  smtp_port
- voir manuel : php . net/manual/fr/mail.configuration.php
*/
ini_set("SMTP","ssl0.ovh.net" );
ini_set('sendmail_from', '[email protected]'); // la boite mail de ton site OVH
ini_set('smtp_port', '25');

ici mon code php ...
le php.ini c'est le fichier de configuration de php . je ne sais pas trop comment accéder au php.ini dans OVH mais tu peux redéfinir certaine partie en début de script. il faudrait voir si tu peux accéder au php.ini dans le panel de contrôle de OVH ou carrément leur demander de l'aide et leur dire que la fonction Mail ne semble pas utilisé ton serveur SMTP.
si c'est un site sans accès au php.ini alors un technicien va peut être faire les modif de son coté ou te proposé une solution disponible dans le panel de contrôle et le temps que ça fonctionne.
toi dans ton script tu les forces ici avec ini_set.

Re: aide fonction mail()

Posté : 11 juin 2022, 15:18
par or 1
si les emails étaient reçus, je doute que ce soit un problème de configuration. je commencerais par regarder si les emails n'arrivent pas maintenant dans les spams.

Re: aide fonction mail()

Posté : 11 juin 2022, 18:33
par new_michael
non aucun mail en spam, en fait les messages semble partir du serveur mais n arrive jamais

Re: aide fonction mail()

Posté : 12 juin 2022, 08:32
par abmag
Il me semble que pour OVH le port SMTP n'est pas 25 mais 587 et qu'il faut avoir souscrit au MXPlan

https://docs.ovh.com/fr/hosting/suivi-e ... tomatises/

https://docs.ovh.com/fr/emails/generali ... utualises/

Re: aide fonction mail()

Posté : 12 juin 2022, 10:40
par new_michael
Bonjour
le script ini_set ne fonctionne pas, je vais essayer avec le port 587 et oui j'ai bien un MxPlan
merci pour votre aide, j espere qu on va trouver la solution
Michael

Re: aide fonction mail()

Posté : 12 juin 2022, 11:26
par abmag
Le port 587 est sans SSl, avec serait 465