Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-03-2008 22:07:37

grimgroth
Nouveau membre
Date d'inscription: 13-03-2008
Messages: 5

[Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

Bonjour à tous,

j'inaugure mon inscription sur ce site par un petit problème avec l'envoi de mail par smtp.

la config de mon php.ini :
SMTP = smtp.free.fr
smtp_port = 25

Je réussi à envoyer un mail avec un code "standard" (venant de la FAQ de developpez.com) que voici :

Code:

$destinataire = 'machinchose@gmail.com';
$expediteur = 'trucbidule@free.fr';
$objet = 'Test';
$headers  = 'MIME-Version: 1.0' . "\n";
$headers .= 'Reply-To: '.$expediteur."\n";
$headers .= 'From: "Nom_de_expediteur"<'.$expediteur.'>'."\n";
$headers .= 'Delivered-to: '.$destinataire."\n";
$message = 'Un Bonjour de Developpez.com!';
if (mail($destinataire, $objet, $message, $headers))
{
    echo 'Votre message a bien été envoyé ';
}
else // Non envoyé
{
    echo "Votre message n'a pas pu être envoyé";
}

Avec ce code tout fonctionne bien, et je reçois bien mon mail.

En revanche, avec un code utilisant les classes du Zend Framework, je ne reçois pas de message. Et pourtant aucune exception n'est levée (ou du moins rien n'est affiché nulle part, j'ai mis un die(); juste après l'appel à $email->send(); ).
Le code que j'utilise :

Code:

$tr = new Zend_Mail_Transport_Smtp('smtp.free.fr');
        Zend_Mail::setDefaultTransport($tr);
        
        $mail = new Zend_Mail();
        $mail->setBodyText('This is the text of the mail.');
        $mail->setFrom('truc@free.fr', 'Some Sender');
        $mail->addTo('bidule@gmail.com', 'Some Recipient');
        $mail->setSubject('TestSubject');
        $mail->send();

Y a t-il un problème connu avec cette version du framework ou bien autre chose à coté de quoi je passe ?
Toute idée est la bienvenue.

Merci d'avance.

Hors ligne

 

#2 14-03-2008 01:35:43

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

Essaye comme ça :

Code:

$mail = new Zend_Mail();
$tr = new Zend_Mail_Transport_Smtp('smtp.free.fr');
$mail->setDefaultTransport($tr);
$mail->setFrom('truc@free.fr', 'Some Sender');
$mail->addTo('bidule@gmail.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->setBodyText('TestContenu');
$mail->send();

dans ton code Zend_Mail::setDefaultTransport($tr); n'est pas dans ton "objet" mail.

Dernière modification par ubini (14-03-2008 01:38:25)


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

Hors ligne

 

#3 14-03-2008 19:18:07

grimgroth
Nouveau membre
Date d'inscription: 13-03-2008
Messages: 5

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

J'ai testé et ça ne fonctionne pas mieux.
Toujours pas de messages d'erreurs, tout se passe bien mais je ne reçois pas de mail.

Est-ce que quelqu'un ici parvient à envoyer un mail en smtp avec les classes du framework ?
Si oui je serais bien intéressé par les détails de sa configuration, que ça soit de php ou du framework.

Merci pour votre aide.

Hors ligne

 

#4 15-03-2008 19:52:17

golivier
Membre
Lieu: vendée
Date d'inscription: 20-03-2007
Messages: 47
Site web

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

As tu regardé la configuration de ta freebox car il me semble qu'il y a un paramètre qui bloque les envois par SMTP ....

Hors ligne

 

#5 15-03-2008 20:19:29

grimgroth
Nouveau membre
Date d'inscription: 13-03-2008
Messages: 5

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

En effet il y a un paramètre dans la configuration de le Freebox qui permet ou pas de bloquer l'envoi de mail en SMTP par un serveur local.
Mais après l'avoir désactivé, pas de changement. Ca ne m'étonne qu'à moitié puisque je réussissais déjà à envoyer des messages en utilisant la fonction mail(). Je n'utilise pas de serveur smtp. Je ne sais pas comment fonctionne le framework à ce niveau mais j'imagine qu'il simule un client mail pour envoyer ses courriers.
En tous cas merci pour l'idée.

Personne n'utilise le framework pour envoyer ses mails en smtp de chez lui ? (ou pas de chez lui d'ailleurs)

Hors ligne

 

#6 15-03-2008 20:50:05

golivier
Membre
Lieu: vendée
Date d'inscription: 20-03-2007
Messages: 47
Site web

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

Je ferai un test la semaine prochaine (j'ai aussi une freebox)

Hors ligne

 

#7 15-03-2008 23:27:12

golivier
Membre
Lieu: vendée
Date d'inscription: 20-03-2007
Messages: 47
Site web

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

Voilà, j'ai fait 2 tests

Code:

  public function testAction() {
       Zend_Loader::loadClass('Zend_Mail');
       Zend_Loader::loadClass('Zend_Mail_Transport_Smtp');
      
      $mail = new Zend_Mail();
      $tr = new Zend_Mail_Transport_Smtp('smtp.free.fr');
      
      $mail->setDefaultTransport($tr);
      $mail->setFrom('truc@free.fr');
      $mail->addTo('machin@free.fr');
      $mail->setSubject('TestSubject');
      $mail->setBodyText('TestContenu');
      $mail->send(); 
  }

Ça fonctionne très bien.

J'ai fait ce test aussi :

Code:

  public function testAction() {
       Zend_Loader::loadClass('Zend_Mail');
       Zend_Loader::loadClass('Zend_Mail_Transport_Smtp');
      
      $mail = new Zend_Mail();
      $tr = new Zend_Mail_Transport_Smtp('smtp.free.fr');
      
      $mail->setFrom('truc@free.fr');
      $mail->addTo('machin@free.fr');
      $mail->setSubject('TestSubject');
      $mail->setBodyText('TestContenu');
      $mail->send($tr); 
  }

Là encore, ça fonctionne.

J'utilise ZF version 1.0.3

Olivier (courage ! wink )

Hors ligne

 

#8 16-03-2008 00:06:00

grimgroth
Nouveau membre
Date d'inscription: 13-03-2008
Messages: 5

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

Merci pour le temps que tu passes.
Je viens de tester par pur hasard la méthode setBodyHtml() et avec cette dernière ça fonctionne. Alors qu'avec setBodyText() non. Je ne vois pas vraiment pourquoi.
Dans la mesure où ça marche je ne vais pas chercher plus loin pour l'instant. Mais si quelqu'un a une idée sur ce point, je suis interessé.
Je mettrai mon nez dans le code du framework un de ces 4, mais pas tout de suite.

Merci

Hors ligne

 

#9 09-05-2008 12:00:12

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

J'ai exactement le même souci !!

J'ai remarqué que les mails ne passe pas tant que l'on utilise l'encodage par défaut "quoted-printable" alors que ça passe très bien avec d'autre encodage

Code:

$mail->setBodyText($mailContent, 'ISO-8859-1', Zend_Mime::ENCODING_8BIT);
// ou
$mail->setBodyText($mailContent, 'ISO-8859-1', Zend_Mime::ENCODING_BASE64);

Reste à savoir pourquoi ? smile

Hors ligne

 

#10 09-05-2008 12:17:24

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: [Zend_Mail][1.5RC] Envoi de mail en SMTP impossible

Alors que si j'envoie un message avec Thunderbird et un encodage "quoted-printable" (7bit par défaut) ça passe très bien , étrange... Bug ?

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages