HI!
i am using symfony 1.4 RC2 and i have met following problems on swift mailer:

by reading the doc here :
http://www.symfony-project.org/tutorial/1_4/en/whats-new
I have saw that swiftmailer is available, but no details about instalation:
So, i have landed on this page:
http://www.symfony-project.org/cookbook/1_2/en/email

Again, here, after reading the page, i have found that i have to
manually install swift mailer. And i have done this. After install, i
have wrote this piece of code ...

    $mail = $this->getMailer()->compose();

    $mail->setSubject(sfClientToolsHelper::__('reset password service'));
    $mail->setTo(array(
      $user->getProfile()->getEmail() => $user->getProfile()->getFullName()
    ));
    $mail->setFrom(epCustomConfig::getResetPasswordFromEmailAddress());

    $images = array();
    $imagesRef = array();

    $images['ep'] = new Swift_Message_Image(new
Swift_File(sfConfig::get('sf_web_dir') . '/images/mylogo.png'));

    foreach ($images as $name => $image)
    {
      $imagesRef[$name] = $mail->attach($image);
    }

    $parameters = array(
      'images' => $imagesRef , 'user' => $user , 'new_password' => $new_password
    );

    $html = $this->getPartial('mail/mailForgotPasswordHtml', $parameters);
    $text = $this->getPartial('mail/mailForgotPasswordText', $parameters);

    $mail->setBody($html, 'text/html');
    $mail->addPart($text, 'text/plain');

    $this->getMailer()->send($mail);


When i have test it, i got this error:

Fatal error: Class 'Swift_Message_Image' not found in
/project_path/apps/frontend/modules/sfGuardAuth/actions/actions.class.php
on line 83

So, i have started to Google it, and i have found out that i have to
insert this in my autoload.yml file

autoload:
  swiftmailer:
    name:      swiftmailer
    path:      %SF_SYMFONY_LIB_DIR%/vendor/swift
    recursive: true

but, again i got same error. I have found that this class comes in the
swift installation according to the book, so i have updated my
autoload.yml file to:

autoload:
  swift:
    name:      swift
    path:      %SF_LIB_DIR%/vendor/swift
    recursive: true

The good news are the fact that i don't get this error, but i get another one.

Catchable fatal error: Argument 1 passed to
Swift_Transport_AbstractSmtpTransport::registerPlugin() must be an
instance of Swift_Events_EventListener, instance of
sfMailerMessageLoggerPlugin given, called in
/project_path/lib/vendor/symfony/lib/mailer/sfMailer.class.php on line
140 and defined in
/project_path/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php
on line 247

Catchable fatal error: Argument 1 passed to
Swift_Events_SimpleEventDispatcher::bindEventListener() must be an
instance of Swift_Events_EventListener, instance of
sfMailerMessageLoggerPlugin given, called in
/project_path/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php
on line 249 and defined in
/project_path/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Events/SimpleEventDispatcher.php
on line 123

and finally:

Fatal error: Call to undefined method Swift_Message::newinstance()
in/project_path/lib/vendor/symfony/lib/mailer/sfMailer.class.php on
line 237

So, i have get back to my factories.yml, where i had this config:

  mailer:
    class: sfMailer
    param:
      logging:           %SF_LOGGING_ENABLED%
      charset:           %SF_CHARSET%
      delivery_strategy: spool
      spool_class:       Swift_DoctrineSpool
      spool_arguments:   [ MailMessage, message ]
      transport:
        class: Swift_SmtpTransport
        param:
          host:       localhost
          port:       25
          encryption: ~
          username:  username
          password:   a simple pass

and i have commented out the "logging" section but i still did not
elude the problem with the first catchable fatal error.

I have get back to my autoload, and i have added a new entry

autoload:
  swift:
    name:      swift
    path:      %SF_LIB_DIR%/vendor/swift
    recursive: true
  swiftmailer:
    name:      swiftmailer
    path:      %SF_SYMFONY_LIB_DIR%/vendor/swiftmailer
    recursive: true

Now, all went fine until a moment ... after that i got :

Catchable fatal error: Argument 1 passed to
Swift_Mime_SimpleMessage::attach() must implement interface
Swift_Mime_MimeEntity, instance of Swift_Message_Image given, called
in/project_path/apps/frontend/modules/sfGuardAuth/actions/actions.class.php
on line 87 and defined
in/project_path/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Mime/SimpleMessage.php
on line 485

Fatal error: Call to undefined method
Swift_Message_Image::getNestingLevel() in
/project_path/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php
on line 693


And now, I got stuck...
Any ideeas how to solve this ?

By removing the image would solve this problem, however, i will not be
able to send embeded images in my email ... at least following the
tutorial.

Finally i have sent the email, however, based on config, you can see
that i am sending messages by using spool as delivery strategy. I have
got in my command line, and i have tried to send the email ... using

symfony project:send-emails --application=frontend

And, unfortunately got another problem:

 You can only send messages in the spool if the delivery strategy is
"spool" (none is the current strategy).

Now, assuming that i have done something terrible wrong ... based on
my errors and my provided code... could you tell me what I have done
wrong ?

I am using:

PHP 5.2.6-3ubuntu4.1 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 23
2009 14:35:05)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with Xdebug v2.0.3, Copyright (c) 2002-2007, by Derick Rethans

symfony version 1.4.0-DEV

ubuntu 9.04 box


Sorry for my long email.
Thanks in advance.

Alecs

--
Have a nice day!
Alecs

As programmers create bigger & better idiot proof programs, so the
universe creates bigger & better idiots!
I am on web:  http://www.alecslupu.ro/
I am on twitter: http://twitter.com/alecslupu
I am on linkedIn: http://www.linkedin.com/in/alecslupu
Tel: (+4)0748.543.798

--

You received this message because you are subscribed to the Google Groups 
"symfony developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-devs?hl=en.


Reply via email to