[RESOLU] fonction mail et smtp authentification

Eléphanteau du PHP | 36 Messages

07 juin 2014, 19:25

Bonjour,

je suis débutant en php (je ne suis pas du tout dans l'informatique...). J'ai récuperé le travail d'un collègue sur un serveur intranet de notre société. je voudrais faire en sorte d'envoyer un mail avec une fonction mail php et une classe phpmailer pour informer mes collaborateurs d'une mise à jour de la base.

Pour se faire, je me suis un peu renseigné à droite à gauche et j'ai récupéré un code tout fait (je ne maitrise pas le language informatique...) :
<?php
include("class.phpmailer.php");
  
 $mail             = new PHPMailer();
  
 $body             = "              Test de PHPMailer.

                    
                     ";
  
 $mail->IsSMTP();
 $mail->SMTPAuth   = true;
 $mail->Host       = "mail.infomaniak.ch";  
 $mail->Port       = 587;             
  
 $mail->Username   = "mon email";
 $mail->Password   = "mot de passe";        
 $mail->From       = "mon email"; //adresse d’envoi correspondant au login entrée précédement
 $mail->FromName   = "mon nom"; // nom qui sera affiché
 $mail->Subject    = "This is the subject"; // sujet
 $mail->AltBody    = "corps du message au format texte"; //Body au format texte
 
$mail->WordWrap   = 50; // nombre de caractere pour le retour a la ligne automatique
 $mail->MsgHTML($body);
  
 $mail->AddReplyTo("mon mail","mon nom");
 $mail->AddAddress("mail du collaborateur","mail du collaborateur");
 $mail->IsHTML(true); // envoyer au format html, passer a false si en mode texte
  
 if(!$mail->Send()) {
   echo "Mailer Error: " . $mail->ErrorInfo;
 } else {
   echo "Le message à bien été envoyé";
 }
  
 ?>
RIen ne part. j'ai modifié le php.ini comme suit :

SMTP = mail.infomaniak.ch
smtp_server = mail.infomaniak.ch
smtp_port = 587
auth_username = mon email (c'est également mon user)
auth_password = mon mot de passe

je n'ai peut être pas installer phpmailer au bon endroit...nous travaillons sur un serveur distant.

Nous avons une boite mail chez infomaniak. c'est ce que nous rentrons dans outlook et cela fonctionne en imap.

J'ai également fait des tests avec telnet sur mail.infomaniak.fr 587.

a la fin j'ai une erreur 550 5.2.0 spam message rejected.

Une personne est-elle en mesure de m'aider?

je ne suis peut etre même pas sur la bonne voie...

Merci d'avance,

paolino

PS : j'ai cherché dans la base mais je n'ai trouvé qu'un tuto non terminé...
Modifié en dernier par Ryle le 07 juin 2014, 21:39, modifié 1 fois.
Raison : Mise en forme PHP

Mammouth du PHP | 1339 Messages

08 juin 2014, 13:14

Faut-il réelement indiquer le SMTP quand on envoit un mail en PHP ?

Si tu fais juste mail('[email protected]', 'sujet', 'text');

Est-ce que tu recois quelquechoses ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphanteau du PHP | 36 Messages

09 juin 2014, 09:01

non je ne recois rien.

quelqu'un aurait une solution?

merci d'avance

paolino

Mammouth du PHP | 1339 Messages

09 juin 2014, 09:07

J'espere que tu as bien remplacé [email protected] par ton email.
Quel est ton hebergeur ? informaniak.ch ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphanteau du PHP | 36 Messages

09 juin 2014, 09:14

oui nous sommes chez infomaniak.

j'ai une adresse perso sur numericable qui est mon FAI personnel et chez moi je n'y arrive pas non plus...

tu aurais une solution?

Mammouth du PHP | 1339 Messages

09 juin 2014, 09:40

informaniak n'a pas l'air de bloquer la fonction mail : https://www.infomaniak.com/support/faq/ ... age=french

Fais toi une page test.php avec leur code et regarde si ca marche ...
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 juin 2014, 11:27

Quand tu dis qu'à la fin rien ne part, est-ce qu'à la fin de l'exécution de ton code php tu as le message "Le message à bien été envoyé" ou au contraire un message d'erreur ? (le message de spam peut être ? autre chose ?)

Pour l'association de mail et du smtp, il faut effectivement être cohérent. Si tu es chez infomaniak, il faut utiliser ton email infomaniak pour qu'il puisse envoyer les mails. Si tu test en local avec un smtp numericable il faudra ton adresse numericable (la plupart des fai et hébergeurs s'assurent que seuls leurs clients se servent de leurs services et contrôles l'origine des mails pour lutter contre le piratage de leurs serveurs smtp)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 36 Messages

09 juin 2014, 13:13

Bon cela fonctionne. j'arrive à recevoir un mail en php sur mon adresse pro avec le smtp du serveur d'infomaniak et mes identifiants de compte mail professionnel et phpmailer.

j'ai egalement un souci, il n'y a que la première adresse que je rentre qui recoit le mail. je devrais résolver cela rapidement.

il me reste juste une erreur : Deprecated: Function eregi() is deprecated in C:\EasyPHP-12.1\www\class\phpmailer\class.phpmailer.php on line 594

la fonction eregi() est dépréciée? elle est remplacée par quoi?

j'attends une réponse à ma question eregi() et je marque résolu au topic.

en tout cas, merci pour vos aides.

paolino

Mammouth du PHP | 1339 Messages

09 juin 2014, 13:15

Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 571 Messages

09 juin 2014, 13:22

la fonction eregi() est dépréciée? elle est remplacée par quoi?
elle est remplacée par preg-match() :

Eléphanteau du PHP | 36 Messages

09 juin 2014, 17:32

ok l'ensemble fonctionne (preg-match avec stristr)

merci beaucoup. je vais pouvoir tester demain sur le serveur de ma boite.