Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-08-2009 22:01:01

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

[Zend_Mail]Récpérer et forward un email

Quelqu'un aurait déjà essayé de se connecter à un compte mail, récupérer les messages et les forwarder à une autre adresse ?

Y'a t il un moyen "rapide" ou faut il récupérer le sujet, le body, les pièces jointes et les attachés à un nouveau message tout simplement ?


Société : Direct Info Service

Hors ligne

 

#2 03-08-2009 09:30:01

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Zend_Mail]Récpérer et forward un email

oui il est possible de récupérer un mail et d'en faire directement un objet mail zf pour l'expédier ensuite.
j'ai écrit cette classe lorsque j'utilisais ZF1.0.4 il faut peut être la mettre à jour

Code:

<?php
/**
 * Fast_Mail Add some features to Zend_Mail.
 *   - addReplyTo
 *   - AddEmbedded
 *   - addAlternative
 *   - createFromTemplate
 *
 * @package Fast
 * @copyright  ftgroup
 * @see Zend_Mail
 */
Zend_Loader::loadClass('Zend_Mail');
class Fast_Mail extends Zend_Mail
{
    /**
     * Adds a "Reply-to" address.
     * @param string $email
     * @param string $name
     * @return void
     */
    public function AddReplyTo($email, $name = "") {
        $this->_addRecipientAndHeader('Reply-to', $name, $email);
    }


    /**
     * Adds an embedded attachment.  This can include images, sounds, and
     * just about any other document.  Make sure to set the $type to an
     * image type.  For JPEG images use "image/jpeg" and for GIF images
     * use "image/gif".
     * @param string $content Path to the attachment or data.
     * @param string $cid Content ID of the attachment.  Use this to identify
     *        the Id for accessing the image in an HTML form.
     * @param string $name Overrides the attachment name.
     * @param string $encoding File encoding (see $Encoding).
     * @param string $type File extension (MIME) type.
     * @return Zend_Mail Provides fluent interface
     */
    public function AddEmbedded($body,
    $mimeType    = Zend_Mime::TYPE_OCTETSTREAM,
    $encoding    = Zend_Mime::ENCODING_BASE64,
    $cid,
    $fileName = null)
    {
        if(is_file($body))
        {
            $body = fopen($body);
        }
        $mp = $this->createAttachment($body,
        $mimeType,
        Zend_Mime::DISPOSITION_INLINE,
        $encoding,
        $fileName);
        $mp->id = $cid;
        return $this;
    }

    /**
     * Creates a Zend_Mime_Part alternative
     *
     * Attachment is automatically added to the mail object after creation. The
     * attachment object is returned to allow for further manipulation.
     *
     * @param  string         $body
     * @param  string         $mimeType
     * @param  string         $encoding
     * @return Zend_Mail Provides fluent interface
     */
    public function addAlternative($body,
    $mimeType    = Zend_Mime::TYPE_OCTETSTREAM,
    $encoding    = Zend_Mime::ENCODING_BASE64)
    {

        if(is_file($body))
        {
            $body = fopen($body);
        }
        $mp = $this->createAttachment($body,
        $type,
        Zend_Mime::MULTIPART_ALTERNATIVE,
        $encoding);
        return $this;
    }

    /**
     * Decodes a MIME encoded string and returns a Zend_Mime_Message object with
     * all the MIME parts set according to the given string
     *
     * @param string $message
     * @param string $EOL EOL string; defaults to {@link Zend_Mime::LINEEND}
     * @return Zend_Mime_Message
     */
    public static function createFromTemplate($message,
    $EOL = Zend_Mime::LINEEND)
    {
        require_once 'Zend/Mime/Decode.php';
        Zend_Mime_Decode::splitMessage($message,
        $headers,
        $body,
        $EOL)
        return Zend_Mime_Message::createFromMessage($message,
        $headers['boundary'],
        $EOL),
    }
}

A+JYT

Hors ligne

 

#3 06-08-2009 12:41:08

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [Zend_Mail]Récpérer et forward un email

là je récupérer bien mes Zend_Mail_Message  mais je comprend pas bien l'exemple de ta classe.

Mon object Zend_Mail_Message je peux le renvoyer à une autre adresse comment ? :s


Société : Direct Info Service

Hors ligne

 

#4 06-08-2009 13:54:42

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Zend_Mail]Récpérer et forward un email

ma classe ajoute juste quelque fonction à Z_M_Message
entre autre le fait de pouvoir transformer un flux mail et en faire un Z_M_M

pour l'envoyer c'est un message comme un autre tu peux utiliser les méthodes de ZF
A+JYT

Hors ligne

 

#5 06-08-2009 15:14:19

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [Zend_Mail]Récpérer et forward un email

sur mon Zend_Mail_Message je peux pas faire de send()  :s

j'ai un peu du mal à te suivre sur ce coup sad


Société : Direct Info Service

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