我尝试为每个订单(条款和条件)发送2个附件,但它似乎无法正常工作,因为我已经收到了0kb文件。
权限正确且文件确实存在。
这是功能:
function tep_mail_attach($to_name, $to_email_address, $email_subject, $email_text, $from_name, $from_email_address, $file, $filetype, $filename, $file2, $filetype2, $filename2) {
if (SEND_EMAILS != 'true') return false;
$message = new email(array('X-Mailer: osCommerce'));
$text = strip_tags($email_text);
if (email_USE_HTML == 'true') {
$message->add_html($text);
} else {
$message->add_text($text);
}
if(is_array($file)){
for($i=0;$i<sizeof($file);$i++){
$attachment = fread(fopen($file[$i], "r"), filesize($file[$i]));
$message->add_attachment($attachment, $filename[$i].'.'.$filetype[$i], $filetype[$i]);
}}
else{
$attachment = fread(fopen($file, "r"), filesize($file));
}
if(is_array($file2)){
for($i=0;$i<sizeof($file2);$i++){
$attachment2 = fread(fopen($file2[$i], "r"), filesize($file2[$i]));
$message->add_attachment($attachment2, $filename2[$i].'.'.$filetype2[$i], $filetype2[$i]);
}}
else{
$attachment2 = fread(fopen($file2, "r"), filesize($file2));
}
$message->add_attachment($attachment, $filename.'.'.$filetype, $filetype);
$message->add_attachment($attachment2, $filename2.'.'.$filetype2, $filetype2);
$message->build_message();
$message->send($to_name, $to_email_address, $from_email_name, $from_email_address, $email_subject);
}
调用该函数:
tep_mail_attach($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, "AllgemeineGeschaeftsbedienungen.pdf", "pdf", "AllgemeineGeschaeftsbedienungen", "Widerrufsrecht.pdf", "pdf", "Widerrufsrecht");
过去几天我一直在咬这个钉子,我只是不明白为什么文件有0kb ......
感谢任何帮助
答案 0 :(得分:0)
前段时间我曾尝试让我的osCommerce商店以HTML格式发送电子邮件并使用附件,但我失败了,很难实现电子邮件课程。
现在我使用Mustache for php + PHPMailer。设置和编写包装完成花了我几天,但现在很容易定制胡子模板和处理电子邮件。
但请记住,在循环中使用数据数组而不是字符串连接,而不是字符串连接。
现在发送电子邮件看起来像这样(是的,我看到一些问题,但他们的解决方案可以等待):
$mailOrederNewHtml = $mustache->render('mailOrderNew', $order);
$phpMailer->isSendmail();
$phpMailer->setFrom(STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER);
$phpMailer->addAddress($order->customer['email_address'], $order->customer['firstname'] . ' ' . $order->customer['lastname']);
$phpMailer->Subject = STORE_OWNER . ' - order notofication ' . $insert_id;
$phpMailer->msgHTML($mailOrederNewHtml);
$phpMailer->WordWrap = 80;
$phpMailer->CharSet = 'utf-8';
$sendRes = $phpMailer->send();