magento контактное электронное письмо, вложение не получено

1

Я пытаюсь создать страницу контакта модуля magento, которая позволяет клиенту присоединять файл. Я следовал этому руководству magephsycho и создал свой собственный модуль, но я получаю пустое электронное письмо. После поиска в google я нашел этот вопрос в stackexchange и изменил IndexController.php. Теперь я получаю электронное письмо с контентом, но не приложение.

Я новичок в magento, и я не знаю, что случилось.

это мой html-код:

<form action="<?php echo $this->getFormAction(); ?>" id="contactForm" method="post" enctype="multipart/form-data">

<input name="MAX_FILE_SIZE" type="hidden" value="2000000" />
<input name="fileattachment" id="fileattachment" title="<?php echo Mage::helper('contacts')->__('FileAttachment') ?>" placeholder="<?php echo Mage::helper('contacts')->__('Upload File') ?>" value="fileattachment" class="input-text" type="file" />

Это мой config.xml, сохраненный в app/code/local/Attachment/Eattachment/etc.

<?xml version="1.0"?>
<config>
    <frontend>
        <routers>
            <contacts>
                <args>
                    <modules>
                        <Attachment_Eattachment before="Mage_Contacts">Attachment_Eattachment</Attachment_Eattachment>
                    </modules>
                </args>
            </contacts>
        </routers>
    </frontend>
</config>

Это код, который я заменяю в IndexController.php, который сохраняется на app/code/local/Attachment/Eattachment/controller

if(file_exists($attachmentFilePath)){
    mailTemplate->getMail()->createAttachment(
        file_get_contents($attachmentFilePath),
        Zend_Mime::TYPE_OCTETSTREAM,
        Zend_Mime::DISPOSITION_ATTACHMENT,
        Zend_Mime::ENCODING_BASE64,
        $fileName
    );
}

Наконец, это файл config.xml, который вводит модуль в magento, сохраненный в приложении /etc/modules

<?xml version="1.0"?>
<config>
    <modules>
        <Attachment_Eattachment>
            <active>true</active>
            <codePool>local</codePool>
        </Attachment_Eattachment>
    </modules>
</config>

Обновление: это код из адресной электронной почты администратора

Name: {{var data.name}}
Email: {{var data.email}}
Telephone: {{var data.telephone}}
PollQuestions: {{var data.pollquestions}}
OtherSpecify: {{var data.othersSpecify}}
FileAttachment: {{var data.fileattachment}}
Comment: {{var data.comment}}

Надеюсь, я дал полезную информацию. На данный момент я не знаю, что происходит. Я не уверен, сохраню ли файл в нужном месте.

Моя проблема заключается в том, что я не получаю вложения электронной почты, отправленные на странице контакта.

Благодарю!

Теги:
email
magento

1 ответ

0
Лучший ответ

Прошел месяц с тех пор, как я опубликовал этот вопрос. В течение среднего времени я перехожу на другую фазу своего проекта, прежде чем решить эту проблему.

Я нашел проблему из расширения, которое я установил.

Чтобы решить эту проблему, я удалил расширение и изменил свой код

МОДИФИКАЦИЯ:

  1. Не нужно включать поле ввода внутри страницы "Транзакционная электронная почта". Это модифицированный код.

    Имя: {{var data.name}} Электронная почта: {{var data.email}} Телефон: {{var data.telephone}} PollQuestions: {{var data.pollquestions}} OtherSpecify: {{var data.othersSpecify}} Комментарий: {{var data.comment}}

  2. Я заменяю код контроллера сверху на этот

    if (file_exists ($ attachmentFilePath)) {$ fileContents = file_get_contents ($ attachmentFilePath);

                    $attachment   = $mailTemplate->getMail()->createAttachment($fileContents);
    
                    $attachment->filename = $fileName;
                }
    

Код работает, и теперь я могу получить вложение электронной почты.

Надеюсь, это поможет другим.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню