Nee*_*arg 3 crontab magento email-attachments magento-1.7
我正在研究magento 1.7.0.2版本.
我想将邮件中的csv发送给客户.这应该每月使用magento中的cron作业完成.
对于cron job config.xml
<crontab>
<jobs>
<Module_Store>
<schedule><cron_expr>0,15,30,45 * * * *</cron_expr></schedule>
<run><model>clinic/observer::sendMailtoClinic</model></run>
</Module_Store>
</jobs>
</crontab>
Run Code Online (Sandbox Code Playgroud)
Observer.php
class Module_Store_Model_Observer {
public function sendMailtoClinic(Varien_Event_Observer $observer, $content){
$mail = new Zend_Mail();
$mail->setType(Zend_Mime::MULTIPART_RELATED);
$mail->setBodyHtml($html_body);
$mail->setFrom($from_email, $from_email_name);
$mail->addTo($to_email, $toEmailName);
$mail->setSubject($subject);
$file = $mail->createAttachment(file_get_contents($file_path));
$file->type = 'text/csv';
$file->disposition = Zend_Mime::DISPOSITION_INLINE;
$file->encoding = Zend_Mime::ENCODING_BASE64;
$file->filename = $file_name;
$mail->send();
}
}
Run Code Online (Sandbox Code Playgroud)
cron的管理员配置是: -
Generate Schedules Every 15
Schedule Ahead for 15
Missed if Not Run Within 35
History Cleanup Every 15
Success History Lifetime 10
Failure History Lifetime 600
Run Code Online (Sandbox Code Playgroud)
任何帮助都会非常明显.
如果邮件系统工作正常,你仍然面临着这个问题,那么也尝试这个:
用这个替换你的配置代码:
<crontab>
<jobs>
<clinic_cron>
<schedule><cron_expr>0,15,30,45 * * * *</cron_expr></schedule>
<run><model>clinic/observer::sendMailtoClinic</model></run>
</clinic_cron>
</jobs>
</crontab>
class [Packagename]_Clinic_Model_Observer { // don't forget to mention package name
public function sendMailtoClinic(Varien_Event_Observer $observer){
$html_body = 'this is html body text';
$from_email = 'from_email@domain.com';
$from_email_name = 'sendername';
$to_email = 'to_email@domain.com';
$toEmailName = 'receiverName';
$subject = 'subject text here';
$file_path = 'here/is/file/path';
$file_name = 'filename.csv';
$mail = new Zend_Mail();
$mail->setType(Zend_Mime::MULTIPART_RELATED);
$mail->setBodyHtml($html_body);
$mail->setFrom($from_email, $from_email_name);
$mail->addTo($to_email, $toEmailName);
$mail->setSubject($subject);
$file = $mail->createAttachment(file_get_contents($file_path));
$file->type = 'text/csv';
$file->disposition = Zend_Mime::DISPOSITION_INLINE;
$file->encoding = Zend_Mime::ENCODING_BASE64;
$file->filename = $file_name;
$mail->send();
}
}
Run Code Online (Sandbox Code Playgroud)
在此处的计划任务任务列表中搜索"clinic_cron"一词:System> Scheduler> List View.确保您正在搜索所有计划任务,我的意思是看到分页;)
希望这可以帮助!祝一切顺利!