Configurer php.ini pour fonction mail() sur Linux Ubuntu

Fermé
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 - 7 mai 2013 à 19:50
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 - 11 mai 2013 à 19:53
Bonjour,

Mes serveurs sont sur Linux Ubuntu

Je suis entrain de créer un petit code pour envoi par mail en PHP.
Mais le probleme est que la fonction mail() ne suffit pas il faut aussi configurer le php.ini
Je ne sais pas quel config y mettre dans
 ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; https://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path
;sendmail_path = 


Et aussi comment définir le port et mon adresse mail je suis sur gmail.

Quelqu'un pourrait-il m'aider ?

Merci c'est assez urgent :)


Mr Andrea1306


Andrea Diano

19 réponses

nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
8 mai 2013 à 09:43
La fonction mail() basic de PHP ne permet pas l'envoi d'un email avec authentification.

Tu est donc obligé de passé par la Class PhpMailer ou autres...

En plus, sur ce tutoriel, tu as juste à copier/coller :-) sachant que tu as un exemple tout fait pour Gmail dans le dossier "examples/gmail.phps"...

Bon courage !
2
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
8 mai 2013 à 10:49
Suit le tutoriel, tout y est ... :-)

tu copies le dossier PhpMailer à la racine de ton script.

Pas de configuration particulière sur ton serveur Linux, juste vérifier que ta version de PHP est au moins en 5.
1
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
8 mai 2013 à 09:33
Salir merci pour ton aide donc avec ça je ne dois rien modifier dans le php.ini ?
Ou si non pourrais tu me donner la solution mais sans phpmailer ?

Merci :)
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
8 mai 2013 à 09:45
D'accord on je vais essayer,
Mais tu sais comment faire avec une adresse mail non google comme par exemple hotmail etc ... ?

Je pourrais me créer une nouvelle adresse mail.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
8 mai 2013 à 09:51
Pour Hotmail, Yahoo.. etc, à ma connaissance il faut aussi une authentification.

voir :
https://www.commentcamarche.net/faq/893-parametres-de-serveurs-pop-imap-et-smtp-des-principaux-fai

Si tu as une adresse Free ou Wanadoo, ça devrait être faisable...
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
8 mai 2013 à 09:52
Super j'ai une adresse free,
Est-ce compliqué ?

Tu peux m'expliquer stp ?

Merci ;)
0
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
8 mai 2013 à 10:07
Ok nickel !

Donc, dans ton fichier php.ini tu configures les variables suivantes :

[mail function]
; For Win32 only.
; https://www.php.net/manual/en/mail.configuration.php#ini.smtp
SMTP = smtp.free.fr
; https://www.php.net/manual/en/mail.configuration.php#ini.smtp-port
smtp_port = 25


Tout simplement... :-)
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
8 mai 2013 à 10:35
Je suis sur Linux ! :)

Ah et je vais installer phpmailer, mais une petite question comment je l'installe sur mon serveur Linux ?
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
8 mai 2013 à 10:52
Ok merci je te tiens au courant :)

Et toi tu utilise ça personnellement ?
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
8 mai 2013 à 12:10
Je suis entrain de me mettre a phpmailer mais ils ne disent pas ou extraire le fichier zip dans mon sevreur ??????????
0
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
8 mai 2013 à 15:36
Tu dézippes le fichier compressé sur ton pc puis copies le dossier à la racine de ton script.
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
8 mai 2013 à 17:14
Re,
alors tout est bon, mais lorsque je charge l'erreur suivante :
 Erreur : Could not instantiate mail function.  



Je te donne mon code :

 



<?php 

include("PHPMailer/class.phpmailer.php");


$mail = new PHPMailer();
$mail->Host = 'smtp.google.com';
$mail->SMTPAuth   = false;
$mail->Port = 587; 
 
 
$mail->SetFrom('###########@gmail.com');
// Destinataire
$mail->AddAddress('#######@live.fr');
// Objet
$mail->Subject = 'Test d\'envoi';
 
// Votre message
$mail->MsgHTML('Test');
 
// Envoi du mail avec gestion des erreurs
if(!$mail->Send()) {
  echo 'Erreur : ' . $mail->ErrorInfo;
} else {
  echo 'Message envoyé !';
} 


?>





Tu peux me dire ce qui cloche ou si j'ai oublier de faire une configuration ???

Merci
0
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
8 mai 2013 à 21:36
Dans la partie du tutoriel copie plutôt le code au niveau de :
"Envoyer un mail avec PHP avec une authentification sécurisée"

Le code que tu as utilisé sert à un envoi d'email sans authentification.

Ca devrait fonctionner ensuite... :-)
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
8 mai 2013 à 21:39
Merci je te tiens au courant
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
9 mai 2013 à 22:13
Re nag95,

Alors j'ai fais avec l'authentification et ça me met toujours la même erreur, je te redonne mon code :

<?php 

include("PHPMailer/class.phpmailer.php");

 
$mail = new PHPMailer();
$mail->Host = 'smtp.google.com';
$mail->SMTPAuth   = true;
$mail->Port = 587; // Par défaut
 
// Authentification
$mail->Username = "########@gmail.com";
$mail->Password = "mot de passe de mon adresse mail";
 
// Expéditeur
$mail->SetFrom('#######"@gmail.com');
// Destinataire
$mail->AddAddress('##########@live.fr');
// Objet
$mail->Subject = 'Objet du message';
 
// Votre message
$mail->MsgHTML('Contenu du message en HTML');
 
// Envoi du mail avec gestion des erreurs
if(!$mail->Send()) {
  echo 'Erreur : ' . $mail->ErrorInfo;
} else {
  echo 'Message envoyé !';
} 

?>





Voila est ce que tu vois quelque chose qui cloche ?
0
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
10 mai 2013 à 09:35
Bonjour,

Remplace :
$mail->Host = 'smtp.google.com';

par
$mail->Host       = 'smtp.gmail.com';


Et ajoute:
$mail->SMTPSecure = 'tls';


Ce sont des spécificités à Gmail... :-)

Tiens moi au courant.
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
10 mai 2013 à 15:33
Re merci pour ta réponse,

Toujours pas ! il n'y a plus d'erreur qui s'affiche ni le message message envoyé, rien du tout

je te redonne mon code avec les paramétres que tu m'as donné :

 

<?php 

include("www/PHPMailer/class.phpmailer.php");

 
$mail = new PHPMailer();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth   = true;
$mail->Port = 587; // Par défaut
$mail->SMTPSecure = 'tls';

 
// Authentification
$mail->Username = "############@gmail.com";
$mail->Password = "########";
 
// Expéditeur
$mail->SetFrom('#######@gmail.com');
// Destinataire
$mail->AddAddress('##########@live.fr');
// Objet
$mail->Subject = 'Objet du message';
 
// Votre message
$mail->MsgHTML('Contenu du message en HTML');
 
// Envoi du mail avec gestion des erreurs
if(!$mail->Send()) {
  echo 'Erreur : ' . $mail->ErrorInfo;
} else {
  echo 'Message envoyé !';
} 

?>


C'est embêtant, qu'en penses-tu ? :)
J'attends ta réponse avec impatience
0
Andrea1306 Messages postés 124 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 14 mai 2013 4
10 mai 2013 à 15:53
re,

Tout est réglé, je vais vous dire pourquoi :
Mauvais chemin vers class.phpmailer ensuite j'ai fais un debug et j'ai vu que il fallait que je rajoute ceci :

$mail->SMTPSecure = 'tls';
$mail->IsSMTP();


ce qui fait le code entier :

 

include("PHPMailer/class.phpmailer.php");


 
$mail = new PHPMailer();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth   = true;
$mail->Port = 587; // Par défaut
$mail->SMTPSecure = 'tls';
$mail->IsSMTP();

 
// Authentification
$mail->Username = "#####@gmail.com";
$mail->Password = "##########";
 
// Expéditeur
$mail->SetFrom('##########@gmail.com');
// Destinataire
$mail->AddAddress('########@gmail.com');
// Objet
$mail->Subject = 'Objet du message';
 
// Votre message
$mail->MsgHTML('Contenu du message en HTML');
 
// Envoi du mail avec gestion des erreurs
if(!$mail->Send()) {
  echo 'Erreur : ' . $mail->ErrorInfo;
} else {
  echo 'Message envoyé !';
} 

?>




Merci de ton aide !!!!!!!!!!
0
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
11 mai 2013 à 19:53
Nickel ! :-)
0
nag95 Messages postés 22 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 1 juin 2013 4
Modifié par baladur13 le 3/06/2013 à 13:57
Bonjour,

Pour les adresses Gmail, la méthode est différente car leur adresses nécessitent une authentification lors de l'envoi.
La Class PhpMailer te permet de le faire facilement.

Je te conseille donc ce tutoriel :
Pub supprimée Modération CCM

Si tu as besoins d'aide n'hésite pas.
-1