IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] Envoyer un e-mail avec classe phpmailer ne marche pas sur tous les serveurs


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut [Mail] Envoyer un e-mail avec classe phpmailer ne marche pas sur tous les serveurs
    Bonjour,

    J'utilise la classe phpmailer (bien connu) pour pouvoir envoyer un mail lorsqu'un formulaire de contact, par exemple, a été rempli correctement.

    Cette fonction ne marche cependant pas sur tous les serveurs... Un jour un administrateur m'a dit qu'il voyait dans ses logs qu'il y avait un problème avec le champ from je crois?

    Voici la fonction que j'ai créée et qui se sert de la classe phpmailer pour envoyer un mail:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
     
    function sendmail($content, $addresses, $subject='', $reply='', $BCC='', $alt='', $attachements='', $debug=0)
    	{
     
     
    		require_once(FB_ROOT.DS.'classes'.DS.'SMTP'.DS.'class.phpmailer.php');							
     
    		$mail = new PHPMailer();
    		$mail->PluginDir = FB_ROOT.DS.'classes'.DS.'SMTP'.DS;
    		$mail->SMTPDebug = $debug;
     
    		$FBConfig = new FBConfig();
     
    		if($FBConfig->mailer=='phpmailer')
    			$mail->IsMail();                            	
    		else
    		{
    			$mail->IsSMTP();						
    			$mail->Host     = $FBConfig->smtpHost; // SMTP servers
    			$mail->SMTPAuth = $FBConfig->smtpAuth;     // turn on SMTP authentication
    			$mail->Username = $FBConfig->smtpUser;  // SMTP username
    			$mail->Password = $FBConfig->smtpPassword; // SMTP password
    		}
     
    		$mail->From = $FBConfig->email;
     
    		if(is_array($BBC))
    		{
    			foreach($BCC as $user => $address)
    			{
    				$mail->AddBCC($address, $user); 
     
    			}
    		}
     
    		$mail->FromName = $FBConfig->siteTitle;
     
    		if(is_array($addresses))
    		{
    			foreach($addresses as $user => $address)
    			{
    				$mail->AddAddress($address,$user); 
    			}
    		}
     
    		if($reply=='')
    			$reply=array($FBConfig->siteTitle => $FBConfig->email);
     
    		if(is_array($reply))
    		{
    			foreach($reply as $user => $address)
    			{
    				$mail->AddReplyTo($address, $user);
    			}
    		}	
     
    		$mail->WordWrap = 50;  
     
    		if(is_array($attachements))
    		{
    			foreach($attachements as $attach)
    			{
    				$mail->AddAttachment($attach);  
    			}
    		}
     
    		$mail->IsHTML(true);        
     
    		$mail->Subject  =  $subject;
    		$mail->Body     =  $content;
    		$mail->AltBody  =  $alt;
     
    		if(!$mail->Send())
    		{
    		   return 'Mailer Error: ' . $mail->ErrorInfo;
     
    		}else
    			return true;
     
    	}
    Voyez-vous quelque chose susceptible poser problème à l'envoi?

    Un grand merci sur cette question pas si facile à résoudre.

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Ca veut dire quoi "ne marche pas" ?
    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
    Pensez également à cocher

    Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

    Dimension Internet

  3. #3
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Je me suis mal exprimé, je veux dire par la que la classe fonctionne très bien, mais je pense avoir une erreur dans ma fonction ou dans la classe phpmailer car sur certains serveur, l'envoi n'est pas accepter par le serveur mail car le champ FROM est vide???

    Voilà ce que ça indique (messsage serveur mail):

    Domain of sender address <apache@localhost.localdomain> does not exist (in reply to MAIL FROM command))
    Hors, pour moi, le champ FROM est bien défini...

Discussions similaires

  1. logiciel avec BD, qui ne marche pas sur d'autres postes
    Par nassimanocus dans le forum Débuter
    Réponses: 9
    Dernier message: 15/02/2014, 05h24
  2. Réponses: 2
    Dernier message: 25/06/2011, 11h16
  3. Réponses: 2
    Dernier message: 27/08/2009, 14h47
  4. Réponses: 5
    Dernier message: 06/12/2008, 09h32
  5. [Mail] Envoyer un e-mail avec images incorporées
    Par guigo dans le forum Langage
    Réponses: 6
    Dernier message: 24/01/2008, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo