Bonjour,
Je rencontre un problème.. ah bon
Je comprends pas pourquoi mon mail s'envoi pas.
En gros je veux envoyer un mail de confirmation à mon utilisateur pour qu'il reçoit les infos qu'il m'a donné.
Voici le code
En fait j'ai surtout un doute sur le corps du mail.
Ma function mail() renvoi bien True mais le mail n'est jamais reçu, que ce soit sur un Server WEB OVH ou en LOCALHOST
Merci pour votre aide.
Modifié par Fifouak (19 Nov 2019 - 02:29)
Je rencontre un problème.. ah bon
Je comprends pas pourquoi mon mail s'envoi pas.
En gros je veux envoyer un mail de confirmation à mon utilisateur pour qu'il reçoit les infos qu'il m'a donné.
Voici le code
<?php
$expediteur = 'contact@mondomaine.fr';
$form_action = '';
$copie = "oui";
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
function IsEmail($destinataire)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(? [decu]? [decu]?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(? [decu]?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $destinataire);
return (($value === 0) || ($value === false)) ? false : true;
}
$login = (isset($_POST['login_user'])) ? Rec($_POST['login_user']) : '';
$pass = (isset($_POST['pass_user'])) ? Rec($_POST['pass_user']) : '';
$prenom = (isset($_POST['prenom_user'])) ? Rec($_POST['prenom_user']) : '';
$nom = (isset($_POST['nom_user'])) ? Rec($_POST['nom_user']) : '';
$adresse = (isset($_POST['adresse_user'])) ? Rec($_POST['adresse_user']) : '';
$societe = (isset($_POST['societe_user'])) ? Rec($_POST['societe_user']) : '';
$role = (isset($_POST['role_user'])) ? Rec($_POST['role_user']) : '';
$tel = (isset($_POST['tel_user'])) ? Rec($_POST['tel_user']) : '';
$destinataire = (isset($_POST['mail_user'])) ? Rec($_POST['mail_user']) : '';
$robot = 'Robot - Mon Domaine';
$objet = 'mondomaine.fr - Création compte';
$message = 'Voici les informations que vous nous avez communiqué : <br>
Login : '.$login.' <br>
Mot de passe : '.$pass.' <br>
Nom : '.$nom.' <br>
Prénom : '.$prenom.' <br>
Role : '.$role.' <br>
Telephone : '.$tel.' <br>
Votre email : '.$destinataire;
$destinataire = (IsEmail($destinataire)) ? $destinataire : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (isset($_POST['submit_crea_user']))
{
if (($nom != '') && ($destinataire != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$robot.' <'.$destinataire.'>' . "\r\n" .
'Reply-To:'.$expediteur. "\r\n" .
'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed' . "\r\n" .
'Content-Disposition: inline'. "\r\n" .
'Content-Transfer-Encoding: 7bit'." \r\n" .
'X-Mailer:PHP/'. phpversion();
if ($copie == 'oui')
{
$cible = $destinataire.';'.$expediteur;
}
else
{
$cible = $destinataire;
};
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
$envoi_reussi = mail($destinataire, $objet, $message, $headers);
};
};
?>
En fait j'ai surtout un doute sur le corps du mail.
Ma function mail() renvoi bien True mais le mail n'est jamais reçu, que ce soit sur un Server WEB OVH ou en LOCALHOST
Merci pour votre aide.
Modifié par Fifouak (19 Nov 2019 - 02:29)