【问题标题】:use PHP Swiftmailer in Symfony 1.4's Cron Jobs?在 Symfony 1.4 的 Cron Jobs 中使用 PHP Swiftmailer?
【发布时间】:2010-11-01 13:24:18
【问题描述】:

我正在使用带有 Propel 作为 ORM 的 Symfony 1.4。我已将 Web 服务器调度程序配置为每 1 小时触发一次邮件功能。要发送邮件,我使用的是 PHP Swift 邮件程序类,而不是 symfony 的内置 Swiftmailer(默认在 1.3、1.4 中)。但是在使用它时给我错误.. 作为“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”。 我正在使用的代码...

  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);

还有其他方法可以通过 Cron 作业发送邮件吗??

【问题讨论】:

    标签: php symfony1 swiftmailer


    【解决方案1】:

    是的。参见1.4书的相关部分:Sending an email from a task

    【讨论】:

      【解决方案2】:

      这个问题是因为你需要在你的任务中添加这个引用:

       requiere_once dirname(__FILE__) . '/../vendor/symfony/lib/vendor/swiftmailer/swift_required.php
      

      【讨论】:

        猜你喜欢
        • 2017-10-17
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        • 2011-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-26
        相关资源
        最近更新 更多