Pages : 1
#1 Le 24/03/2017, à 11:15
- jibantas
Configuration de linux pour l'envoi d'un mail php
Salutation, dans le cadre de mon projet de bts je doit envoyer un mail en php sous linux (je precise parce que sous windows ca marche (code et envoi)). Je viens vers vous car j'ai un probleme consequent, je n'arrive pas a envoyer de mail sous linux, j'ai installer et configurer exim4 avec l'aide de mon professeur. Je suis sous un smtp orange que j'ai definit dans mon PHP.ini, j'ai essayer de faire un envoi manuel via telnet mais aucun resultat je recois juste un mail sur l'adresse d'envoi qui me dit que le mail n'as pas été delivré.
Voici mon formulaire et mon envoie de mail:
echo'<form action="mdpoublie.php" method="post">
<p>'.$_SESSION['login'].'</p>
<input type="password" name="mdp" id="mdp1" autocomplete="off" placeholder="nouveau mot de passe"/>
<input type="text" name="mail" id="mail" placeholder="mail"/>
<button type="submit" value="reinit">Réinitialisation</button>';
$connect=mysqli_connect($mysql_server , $mysql_user , $mysql_password , $mysql_database) or die("Connexion impossible");
if (isset($_POST) && !empty($_POST['mdp']) && !empty($_POST['mail'])) {
$login=$_SESSION['login'];
$mdp=$_POST['mdp'];
$mail=$_POST['mail'];
$req=$connect->query("UPDATE eleves SET mdp=('$mdp') WHERE login=('$login')");
// Le message
$message = "Bonjour.\r\nVotre nouveau mot de passe est: $mdp.\r\n";
// Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap()
$message = wordwrap($message, 70, "\r\n");
// Envoi du mail
ini_set("sendmail_from","jibantas55@gmail.com");
mail($mail, 'Mon Sujet', $message);
}
else {
echo "Veuillez remplir les champs.";
}
Voici mon php.ini:
; For Unix only. You may supply arguments as well
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i
SMTP = smtp.orangefr
smtp_port = 25
Hors ligne
#2 Le 24/03/2017, à 11:26
- jplemoine
Re : Configuration de linux pour l'envoi d'un mail php
- Si tu n'utilises pas "une ligne" orange, le port 25 est bloqué
- Dans le cas contraire, je ne sais plus main je crois que, dans tous les cas, le port 25 est bloqué
--> normalement, il y a des fichiers logs
Solution : passer par un smtp authentifié.
NB : tant que ça ne fonctionne pas via telnet, ça ne fonctionnera pas via php.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#3 Le 24/03/2017, à 11:35
- jibantas
Re : Configuration de linux pour l'envoi d'un mail php
J'utilise bien une ligne orange et mon prof a debloquer le port 25 pour que je puisse faire l'envoi
le probleme c'est qu'avant le telnet fonctionnais et du jour au lendemain il ne marchait plus
qu'est ce que tu entend pas un smtp authentifié.
Hors ligne
#4 Le 24/03/2017, à 11:46
- jibantas
Re : Configuration de linux pour l'envoi d'un mail php
ok je viens de mettre ma box orange en dns du coup le telnet refonctionne mais je ne recoit pas la mail envoyer
Hors ligne
#5 Le 30/03/2017, à 11:30
- ikoula
Re : Configuration de linux pour l'envoi d'un mail php
Je confirme tu ne peux pas utiliser le smtp d'orange sans t'authentifier.
Tu dois donc avoir les identifiants d'une boite orange + ajouter le code nécessaire.
Thomas | Community manager | ikoula Serveurs dédiés, VPS et Cloud Public
Contactez-nous | Suivez-nous sur Twitter | Likez nous sur Facebook
Hors ligne
#6 Le 30/03/2017, à 11:45
- jplemoine
Re : Configuration de linux pour l'envoi d'un mail php
mon prof a debloquer le port 25
Je parlais du blocage coté Orange...
qu'est ce que tu entend pas un smtp authentifié.
C'est à dire un smtp où tu précises un nom d'utilisateur et un mot de passe comme quand tu veux lire tes courriels.
Le smtp classique, c'est ouvert à tout le monde (et donc utilisé pour le spam). Il y a donc plusieurs manières de protéger le serveur.
- pop before smtp : tu dois d'abord lire le courrier avant de pouvoir envoyer (je ne sais pas si c'est encore utilisé)
- le smtp autentifié : tu fournis un couple utilisateur / Mot de passe.
- ... ?
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#7 Le 30/03/2017, à 15:13
- HPIR40
Re : Configuration de linux pour l'envoi d'un mail php
Pour que ton mail en php passe il faut que tu configure exim4 ou bien postfix en relay smtp
a ce moment la tu pourra taper directement le port 25 vers ton relay smtp, et c'est ce relais qui ferra la connexion TLS port 587 vers le smtp orange avec les bons logins et mdp
le port 25 tu le libere eventuellement dans ta lan (pour que tes serveurs discutent librement avec le relay smtp), mais tu ne le met pas en accés libre sur le net c'est super dangereux.
Hors ligne
#8 Le 30/03/2017, à 16:00
- bobe
Re : Configuration de linux pour l'envoi d'un mail php
Précision : les options SMTP, smtp_port et sendmail_from ne sont utiles que sur un serveur windows. C'est d'ailleurs indiqué dans les commentaires du php.ini.
Sur Linux, php passe par un programme MTA local (MTA = Mail Transfer Agent) ciblé avec l'option sendmail_path, dont la valeur par défaut convient généralement.
Comme dit au-dessus, il faut donc installer exim4 ou postfix et le configurer pour relayer les mails sortants vers le smtp d'orange.
Pour définir l'adresse de retour, et vu que sendmail_from n'est pas utilisé sur linux, utilise le 5e argument de la fonction mail().
Hors ligne
Pages : 1