【问题标题】:email attachment not received magento form未收到电子邮件附件 magento 表单
【发布时间】:2019-11-14 00:32:11
【问题描述】:

创建带有电子邮件文件 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;
            }

希望有人能帮我解决问题,谢谢

【问题讨论】:

    标签: forms magento magento-1.9 email-attachments contact-form


    【解决方案1】:

    试试这个代码

        //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;
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      相关资源
      最近更新 更多