Измените поле «От» электронной почты контактной формы magento для отправителя - PullRequest
4 голосов
/ 31 мая 2011

Как можно изменить поле «От» электронной почты контактной формы на поле отправителя?Например, если клиент должен был заполнить форму с электронным письмом «test@test.com», как я могу сделать сгенерированное электронное письмо от «test@test.com» ?

Я посмотрелв поле 'email sender' в системных админ-панелях, но это позволяет только диапазон предустановленных писем магазина.

Большое спасибо

Ответы [ 2 ]

7 голосов
/ 31 мая 2011

Место, куда отправляется это сообщение, находится в app/code/core/Mage/Contacts/controllers/IndexController.php в строке около 100. Похоже, что адрес для ответа на электронные письма уже установлен на адрес электронной почты из сообщения, так что если вы просто хотите получить более простые ответы, я бы посоветовал не дурачиться.

Другая проблема, с которой вы, вероятно, столкнетесь, заключается в том, что отправка электронной почты с поддельным адресом «от» может привести к тому, что ваш сайт быстро попадет в черный список от многих поставщиков электронной почты, что может повлиять на всю вашу деятельность.

Тем не менее, если вы все еще хотите это сделать, в этом файле немного измените этот код:

            $mailTemplate->setDesignConfig(array('area' => 'frontend'))
                ->setReplyTo($post['email'])
                ->sendTransactional(
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER), // change this
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
                    null,
                    array('data' => $postObject)
                );

Надеюсь, это поможет!

Спасибо, Джо

1 голос
/ 16 февраля 2013

Контактная форма Magento - получаю электронное письмо от себя является новым дубликатом этого вопроса, и ответ Джо дал мне правильный путь.В своем ответе на повторяющийся вопрос я написал собственный модуль для переопределения app/code/core/Mage/Contacts/controllers/IndexController.php и в итоге изменил указанную строку выше на array('name'=>$post['name'], 'email'=>$post['email']),, чтобы внести исправление.

ИМХО, когда я делаю срочные небольшие исправления вядро, которое должно оставаться до тех пор, пока оно не будет должным образом перегружено, я обязательно завершу каждую строку комментарием с моими инициалами дважды //CKCK hack to fix ___, а затем вы можете выполнить grep и просмотреть все свои моды через оболочку ssh: app/code/core$ grep -rn "CKCK" *

Я также использую github для контроля версий, что тоже помогает.

...