Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-04-2007 11:38:38

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

[RESOLU][MAIL][0.93 BETA] piece jointe

Je crise ca moarche poa:


ca c zenk

<?php
require_once 'Zend/Mail.php';
$mail = new Zend_Mail();
// construction du message
$mail->addAttachment($uneChaineBinaire);
$mail->addAttachment($monImage, 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT);
?>

c koi $unechainebianire?

il semble k il faille implemented Zend_Mime_Part

g essayed:

$file étant mon fichier a joindre
$var=$mail->createAttachment($file, 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT);
$mail->addAttachment($var);

$mail->send();

resultat


Fatal error: Uncaught exception 'Zend_Mail_Transport_Exception' with message 'No body specified' in C:\www\be\admin\Zend\Mail\Transport\Abstract.php:273 Stack trace: #0 C:\www\be\admin\Zend\Mail\Transport\Abstract.php(302): Zend_Mail_Transport_Abstract->_buildBody() #1 C:\www\be\admin\Zend\Mail.php(642): Zend_Mail_Transport_Abstract->send(Object(Zend_Mail)) #2 C:\www\be\admin\mailing_entreprise.php(149): Zend_Mail->send() #3 C:\www\be\admin\mailing_entreprise.php(105): envoi_mail('essai.jpg', 'Pushrecrut', '', 'Image/jpeg') #4 {main} thrown in C:\www\be\admin\Zend\Mail\Transport\Abstract.php on line 273


MERCI de votre aide

Dernière modification par schum-hacker (14-05-2007 14:43:56)

Hors ligne

 

#2 27-04-2007 12:03:42

Cyril
Nouveau membre
Lieu: Grenoble
Date d'inscription: 20-03-2007
Messages: 3
Site web

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Bonjour schum-hacker,

Si tu utilises la fonction createAttachment, tu n'as pas besoin de l'ajouter ta pièce jointe (en utilsant la fonction addAttachment).

Concernant ton problème de 'No body specified', est-ce que tu as bien ajouté un corps à ton mail ? ( par exemple $mail->setBodyText($texte) ).

Bonne journée,
Cyril

Hors ligne

 

#3 27-04-2007 13:03:43

fincom
Membre
Date d'inscription: 13-04-2007
Messages: 11

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Bonjour,

Ci dessous un exemple d'envois de mail avec fichier attaché avec Zend Framework :
<?php
require_once ‘Zend/Mail.php’;

//Création de l'objet "mail"
$mail = new Zend_Mail();

//On complète avec les élements du mail
$mail->setFrom(‘de@test.com’, ‘De’);
$mail->addTo(‘a@test.com’, ‘A’);
$mail->setSubject(‘Sujet du mail’);
$mail->setBodyText(‘Contenu du mail.’);

//on récupère la "Chaîne Binaire" du fichier à attacher
$file = file_get_contents(‘/path/vers/ton/fichier.extension’);

//On attache
$a = $mail->addAttachment($file);

//Et on envoit.
$a->filename =’nomfichier.extesion';

$mail->send();
?>

That's All
Have Fun.

Hors ligne

 

#4 27-04-2007 13:12:08

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

please un exemple complet de l utilisation avec une piece jointe

Hors ligne

 

#5 27-04-2007 13:21:33

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

fincom merci but

$a = $mail->addAttachment($file);

me renvoie

Catchable fatal error: Argument 1 passed to Zend_Mail::addAttachment() must be an instance of Zend_Mime_Part, string given, called in

Hors ligne

 

#6 27-04-2007 13:26:36

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Code:

          require_once 'Zend/Mail.php';
            $mail = new Zend_Mail();
            $mail->setBodyText($content);
            $mail->setFrom('expe@dom_exp.com', 'Essai');
            $mail->addTo(dest@dom_dest.com);
            $mail->addBcc('ton-adresse@si_tu_veux.org');
            $mail->setSubject('le_sujet');

            $file = "monfile.pdf";

            if(!file_exists($file)) {
                // gestion erreur
            }


            $at = $mail->addAttachment(file_get_contents($file), 'application/pdf', Zend_Mime::DISPOSITION_INLINE , Zend_Mime::ENCODING_BASE64);
            $at->filename    = substr ($file, strrpos($file, "/")+1);

            // build message...
            $config = array(
            'ssl' => 'ssl',
            'port' => 465,
            'auth' => 'login',
            'username' =>'username@mon_domaine.com',
            'password' => 'mot_de_passe');

        require_once 'Zend/Mail/Transport/Smtp.php';
        $tr = new Zend_Mail_Transport_Smtp('ssl0.ovh.net', $config);
            Zend_Mail::setDefaultTransport($tr);
           $result =$mail->send();

Euh, désolé pour l'identation, le copier/coller est parti en vrille.
Tu remplaces par les bonnes adresses, le bon type de fichier, et c'est parti !

Fred

P.S : ssl0.ovh.net à remplacer aussi

Dernière modification par fred wolf (27-04-2007 13:30:19)

Hors ligne

 

#7 27-04-2007 13:32:49

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

PKOI ca marche poAAAAAAAAAAAAAAAAAA

la fonction addattachment me renvoie tjs la meme chose!!!!!!!!!!!!!!!!!!!!!!!!!

Catchable fatal error: Argument 1 passed to Zend_Mail::addAttachment() must be an instance of Zend_Mime_Part, string given, called in

Hors ligne

 

#8 27-04-2007 14:04:00

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

As-tu essayé avec un fichier pdf ? Histoire de valider la manip, vant de te pencher sur le cas d'une image ?

Au fait c'est un vieil exemple, tu peux remplacer file_get_contents par fread ou fpassthru avec les paramètres appropriés.

Hors ligne

 

#9 27-04-2007 14:11:26

fincom
Membre
Date d'inscription: 13-04-2007
Messages: 11

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Re,

Envois nous le code de ton script, ou au moins précises nous le type mime du fichier attaché.

Hors ligne

 

#10 27-04-2007 14:11:59

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

ouep mais j arrive poa g essayé ca il me fait pas l erreur  a la con mais je recois un fichier sans piece jointe:
$mail = new Zend_Mail();
            $mail->setBodyText('Ceci est le message.');
            $mail->setFrom('somebody@example.com', 'un expéditeur');
           
            $mail->setSubject('sujet de test');
$mail->createAttachment('toto.jpg', 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT);
$mail->addTo($val, 'un destinataire');
$mail->send();

Hors ligne

 

#11 27-04-2007 14:15:31

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

$mail->createAttachment(file_get_contents('toto.jpg'), 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT);
marche poa non plus

Hors ligne

 

#12 27-04-2007 14:20:18

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

non plus
$mail->createAttachment($mail->getbody(), 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT,file_get_contents('toto.jpg'));

Hors ligne

 

#13 27-04-2007 14:21:56

fincom
Membre
Date d'inscription: 13-04-2007
Messages: 11

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

l'erreur vient du fait que vous envoyez une image jpg avec un mime gif

remplacez :
$mail->createAttachment('toto.jpg', 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT);

par

$mail->createAttachment('toto.jpg', 'image/jpeg', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT);

Hors ligne

 

#14 27-04-2007 14:28:53

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

arf ca change rien j ai tjs pas de fichier attaché

Dernière modification par schum-hacker (27-04-2007 14:30:31)

Hors ligne

 

#15 27-04-2007 14:30:45

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Dis-moi schum-hacker manquerait-il des touches à ton clavier ? smile Parce que j'ai un peu de mal à lire tes messages.

Sinon la dispo est en inline, il faudrait mettre attachment peut-être (je ne suis pas sûr) ?

Dernière modification par fred wolf (27-04-2007 14:33:30)

Hors ligne

 

#16 27-04-2007 14:33:30

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

$mail->addAttachment($mail->getBodyText(), 'image/jpeg', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT,'toto.jpg');

j ai 2 fois le body

Hors ligne

 

#17 27-04-2007 14:36:00

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Si tu veux une piece jointe je crois que, déjà, il faut :

Zend_Mime::DISPOSITION_ATTACHMENT

Hors ligne

 

#18 27-04-2007 14:37:24

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

C'est normal il me semble que tu aies deux fois le body car au lieu de l'image (lecontenu binaire) tu mets le body :

$mail->addAttachment($mail->getBodyText(), 'image/jpeg', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT,'toto.jpg');

Dernière modification par fred wolf (27-04-2007 14:37:40)

Hors ligne

 

#19 27-04-2007 14:40:09

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

merci mais tjs un pb g un tas de chiffre ki apparaisse a la place de l image

Dernière modification par schum-hacker (27-04-2007 14:44:13)

Hors ligne

 

#20 27-04-2007 14:43:56

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

$fp = fopen('toto.jpg', "rb");   // b c'est pour les windowsiens
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
$mail->setBodyText($attachment);
$mail->addAttachment($mail->getBodyText(), 'image/jpeg', Zend_Mime::DISPOSITION_ATTACHMENT, Zend_Mime::ENCODING_8BIT,'toto.jpg');

Hors ligne

 

#21 27-04-2007 14:44:09

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Bon, c'est un progrès, c'est juste la façon d'encoder l'image qui est pas bonne. Soit dans le type d'encodage, soit le binaire récupéré. Sinon, tu arrives bien à attacher quelque chose.

Hors ligne

 

#22 27-04-2007 14:45:08

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

ouep

Hors ligne

 

#23 27-04-2007 14:46:48

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Attention, entre la 0.9.1 et 0.9.2, les attachements on changé dans Zend_Mail.
le addAttachement($content) ne fonctionne plus, il faut effectivement remplacer ça par un createAttachement ou bien par un addAttachement(Zend_Mime_Part $toto)...
La doc (même anglaise) n'est pas du tout à jour. Voilà un exemple de code...

Code:

$mail = new Zend_Mail();
$mail->setBodyText("le corps de mon mail en texte'");
$mail->setBodyHtml("le corps de mon mail en html");
$mail->setFrom("toto@hotmail.com");
$mail->addTo("titi@hotmail.com", "Titi Durand");
$mail->setSubject("mon sujet");
$filename = "toto.pdf";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

$mail->createAttachment($contents, 'application/pdf', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_BASE64, 'toto.pdf');
try {
    $mail->send();
    Kitpages_Log::debug("email sent");
}
catch (Exception $e) {
    Kitpages_Log::error("error");
}

A priori un encodage en base64 me parrait plus logique pour un mail... (en tout cas pour le PDF ci dessus, c'est unn code qui marche)

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#24 27-04-2007 14:49:58

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

Merci pour l'info Philippe, je pense que j'aurais bien galéré en changeant de version pour trouver le problème smile

Hors ligne

 

#25 27-04-2007 15:22:38

schum-hacker
Membre
Date d'inscription: 27-04-2007
Messages: 23

Re: [RESOLU][MAIL][0.93 BETA] piece jointe

a part la Class 'Kitpages_Log' que j ai pas
que dire.....
UN grand mais aloras grand MERCI a TOUS ca MARCHE
mercimercimercimercimercimercimercimercimercimerci

une question m interpelle je suis bidon ou c'etait pas si clair que ca l exemple de zend? smile

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