Question

J'utilise Symfony 1.4 avec Propel comme ORM. J'ai configuré ordonnanceurs serveur Web pour déclencher une fonction de diffusion à chaque 1heure. Pour envoyer des mails je suis en utilisant la classe PHP Swift Mailer, et non inbuild Swiftmailer (par défaut dans 1.3,1.4) du symfony. Mais pendant l'utilisation me donne une erreur .. comme "Catchable fatal error: Argument 1 passed to Swift_Transport_EsmtpTransport::__construct() must implement interface Swift_Transport_IoBuffer, none given in /home/msconslt/sfprojects/test/lib/mailClasses/classes/Swift/Transport/EsmtpTransport.php on line 64". Le code que j'utilise ...

  require_once(dirname(__FILE__).'/../../config/ProjectConfiguration.class.php');
  $configuration =ProjectConfiguration::getApplicationConfiguration('frontend', 'dev', true);
  // Remove the following lines if you don't use the database layer
  $databaseManager = new sfDatabaseManager($configuration);

 //Create the Transport
 $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
 ->setUsername('myid@gmail.com')
 ->setPassword('mypassword')
 ;

//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

 //Create a message
 $message = Swift_Message::newInstance("Test Mail")
 ->setFrom(array('myid@gmail.com' => 'Harry'))
->setTo(array('someid@gmail.com'))
->setBody('<html>'.
 '<head></head>'.
 '<body> <span>Dear, </span><br/> Hi there..</body>'.
 '</html>',
 'text/html'
 );

 $mailer->send($message);

est-il un autre moyen d'envoyer le courrier par des emplois Cron ??

Était-ce utile?

La solution

Oui. Voir la partie pertinente du 1.4 livre: Envoi d'un email de une tâche .

Autres conseils

Ce problème est dû au fait que vous avez besoin d'ajouter cette référence dans votre taks:

 requiere_once dirname(__FILE__) . '/../vendor/symfony/lib/vendor/swiftmailer/swift_required.php
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top