未收到电子邮件附件 magento 表单

email attachment not received magento form

创建带有电子邮件文件 jpg 的自定义表单已成功发送到服务器。但问题是,收到电子邮件时没有附加电子邮件。尝试寻找所有这个论坛没有结果。收到电子邮件时仍然没有附加电子邮件。这是我在 indexcontroller 上的代码。

上传服务器控制

$fileName = '';
        if (isset($_FILES['attachment']['name']) && $_FILES['attachment']['name'] != '') {
            try {           
                    $fileName       = $_FILES['attachment']['name'];
                    $fileExt        = strtolower(substr(strrchr($fileName, ".") ,1));
                    $fileNamewoe    = rtrim($fileName, $fileExt);
                    $fileName       = preg_replace('/\s+', '', $fileNamewoe) . time() . '.' . $fileExt;
                $uploader = new Varien_File_Uploader('attachment');
                $uploader->setAllowedExtensions(array('doc', 'docx','pdf', 'jpg'));
                $uploader->setAllowRenameFiles(true);
                $uploader->setFilesDispersion(false);
                $path = Mage::getBaseDir('media') . DS . 'confirm' . DS ;
                if(!is_dir($path)){
                    mkdir($path, 0777, true);
                }
                $uploader->save($path, $_FILES['attachment']['confirm'] );             
                $newFilename = $uploader->getUploadedFileName();


            } catch (Exception $e) {
                $error = true;
            }
        }

调用附加电子邮件文件的代码

              $attachmentFilePath = Mage::getBaseDir('media'). DS . 'confirm' . DS . $fileName;
              if(file_exists($attachmentFilePath)){
                $fileContents = file_get_contents($attachmentFilePath);
                $attachment   = $mail->getMail()->createAttachment($fileContents);
                $attachment->filename = $fileName;
            }

希望有人能解决我的问题谢谢

试试这个代码

    //upload code
   $fileName = '';
        if (isset($_FILES['attachment']['name']) && $_FILES['attachment']['name'] != '') {
            try {           
                    $fileName       = $_FILES['attachment']['name'];
                    $fileExt        = strtolower(substr(strrchr($fileName, ".") ,1));
                    $fileNamewoe    = rtrim($fileName, $fileExt);
                    $fileName       = preg_replace('/\s+', '', $fileNamewoe) . time() . '.' . $fileExt;
                $uploader = new Varien_File_Uploader('attachment');
                $uploader->setAllowedExtensions(array('doc', 'docx','pdf', 'jpg'));
                $uploader->setAllowRenameFiles(true);
                $uploader->setFilesDispersion(false);
                $path = Mage::getBaseDir('media') . DS . 'confirm' . DS ;
                if(!is_dir($path)){
                    mkdir($path, 0777, true);
                }
                $uploader->save($path, $_FILES['attachment']['confirm'] );             
                $newFilename = $uploader->getUploadedFileName();
  $mailTemplate = Mage::getModel('core/email_template');
      $mailTemplate->setSenderName('Sender Name'); 
      $mailTemplate->setSenderEmail('sender@sender.email');
      $mailTemplate->setTemplateSubject('Subject Title');
      $mailTemplate->setTemplateText('Body Text');
      // add attachment
      $mailTemplate->getMail()->createAttachment(
              file_get_contents($path.$newFilename), //location of file
              Zend_Mime::TYPE_OCTETSTREAM,
              Zend_Mime::DISPOSITION_ATTACHMENT,
              Zend_Mime::ENCODING_BASE64,
                basename( $newFilename )
      );
      $mailTemplate->send('toemail@email.com','subject','set message');

            } catch (Exception $e) {
                $error = true;
            }
        }