هل تستخدم PHP Swiftmailer في وظائف Cron Symfony 1.4؟
-
28-09-2019 - |
سؤال
أنا أستخدم Symfony 1.4 مع Propel as orm. لقد قمت بتكوين جدولي خادم الويب لتشغيل وظيفة بريدية في كل ساعة واحدة. لإرسال رسائل ، أستخدم فئة PHP Swift Mailer ، وليس Symfony's Inbuild 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 ؟؟
المحلول
نعم. انظر الجزء ذي الصلة من كتاب 1.4: إرسال بريد إلكتروني من مهمة.
نصائح أخرى
هذه المشكلة لأنك تحتاج إلى إضافة هذا المرجع في TAKS:
requiere_once dirname(__FILE__) . '/../vendor/symfony/lib/vendor/swiftmailer/swift_required.php