изменить адрес электронной почты отправителя поделиться списком желаемых писем в magento - PullRequest
0 голосов
/ 17 марта 2011

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

спасибо

Ответы [ 2 ]

1 голос
/ 17 марта 2011

Я бы так не поступил. Вместо этого я бы установил адрес отправителя в моем интернет-магазине и установил заголовок Reply-To адресом получателя. Фальсификация подобных адресов может привести к тому, что ваша электронная почта окажется в спам-ловушках.

0 голосов
/ 19 марта 2011

После просмотра кода может показаться, что это письмо отправлено с

app/code/core/Mage/Wishlist/controllers/IndexController.php

Так что вам нужно перезаписать этот контроллер. Я никогда такого не делал, но это выполнимо. Здесь есть тема здесь , и если вы воспользуетесь Google 'magento override controller', вы также найдете много информации.

После этого вы должны заново реализовать (т.е. копировать и редактировать) метод sendAction(). В это звонок

$emailModel->sendTransactional();

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

Но я настоятельно рекомендую установить заголовок Reply-To. Это возможно, потому что эта модель использует объект Zend_Mail для грязной работы и рассматривает этот объект как одиночный. Это означает, что если вы создадите его как первый и настроите его, следующее письмо будет отправлено с этой конфигурацией. В коде измените

foreach($emails as $email) {
    $emailModel->sendTransactional(
        Mage::getStoreConfig('wishlist/email/email_template'),
//snip

до

foreach($emails as $email) {
    $mail = $emailModel->getMail();
    $mail->setReplyTo($customer->getEmail());
    $emailModel->sendTransactional(
        Mage::getStoreConfig('wishlist/email/email_template'),
//snip

Успех

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...