Magento - отправить забытый пароль по электронной почте на языке клиента - PullRequest
1 голос
/ 28 декабря 2011

У меня есть веб-сайт Magento с двумя языками, когда я отправляю новый пароль клиенту из бэкэнда, он получает письмо на неправильном языке, но когда он запрашивает новый пароль от внешнего интерфейса, он получает письмо в правильный язык.

Как я могу отправить электронное письмо с "забытым паролем" на соответствующем языке (на котором создан клиент) из бэкэнда?

Спасибо за помощь:)

Ответы [ 2 ]

4 голосов
/ 30 декабря 2011

Шаг за шагом

  1. Система -> Транзакционные письма
  2. Нажмите «Добавить новый шаблон», заполните необходимую информацию
  3. Выберите шаблон «Новый пароль» из выпадающего списка
  4. Выберите «локаль» или «языковые настройки» из выпадающего списка
  5. Нажмите кнопку загрузить шаблон, измените, что вы хотите (например, логотип)
  6. Система -> Конфигурация -> Конфигурация клиента
  7. Нажмите «Параметры пароля», затем введите новый шаблон электронной почты для «забытого пароля»

Почти забыл, вы должны выбрать магазин (я имею в виду связанный магазин, который основан на языке) из "текущей области конфигурации" из верхнего левого угла в разделе конфигурации, когда вы устанавливаете "конфигурация клиента"

0 голосов
/ 28 апреля 2014

Мне удалось отправить электронное письмо с забытым паролем от localhost.

Единственное, что вам нужно сделать, это выполнить шаги, перечисленные ниже, и все готово.

  1. Изменить эту страницу app/code/core/Mage/Core/Model/Email/Template.php

Прокомментируйте существующую функциональность и добавьте следующий код

    public function getMail()
    {
     if (is_null($this->_mail)) {
        /* changes begin */
       $my_smtp_host = Mage::getStoreConfig('system/smtp/host');
       $my_smtp_port = Mage::getStoreConfig('system/smtp/port');
       $config = array(
                'port' => $my_smtp_port,
                'auth' => 'login',
                'username' => 'your username',
                'password' => 'your password'
            );
        $transport = new Zend_Mail_Transport_Smtp($my_smtp_host, $config);
        Zend_Mail::setDefaultTransport($transport);
        /* Changes End */
        $this->_mail = new Zend_Mail('utf-8');
    }
    return $this->_mail;
}

Войдите к администратору System -> Configuration -> Advanced -> System -> Mail Sending settings и установите следующие параметры.

Отключить связь по электронной почте = Нет

Host = smtp.mandrillapp.com

Порт ((25) = 587

Установить обратный путь = Нет

enter image description here

Войдите в систему администратора System -> Transactional Emails -> Add New Template выполните следующие действия

  • В поле Загрузка шаблона по умолчанию - выберите требуемый шаблон, например 'Forgot Password', и нажмите Load Template шаблон по умолчанию.будет заполнено содержимым шаблона

  • В информации о шаблоне - укажите любое имя шаблона, например Forgot Password, и нажмите кнопку Сохранить шаблон.

Вход в систему администратора System -> Configuration -> Customers -> Customer Configuration -> Password Options

  • В Forgot Email Template выберите «Забыли пароль» (созданный на вкладке «Транзакционные электронные письма») из выпадающего списка.

  • Выберите Remind Email Template для «Забыли пароль»

  • Выберите Forgot and Remind Email Sender для любого раскрывающегося значения для поддержки бывших клиентов.

enter image description here

Примечание. Убедитесь, что служба поддержки клиентов настроена на какой-либо действительный адрес электронной почты.Чтобы изменить адрес электронной почты службы поддержки, войдите в систему: admin System -> Configuration -> General -> Store email Address -> Customer support добавьте действующий адрес электронной почты.

Это все, что вы сделали.Пожалуйста, не стесняйтесь оставлять свои вопросы.Для получения дополнительной информации см. http://pravams.com/2011/07/30/magento-send-email-using-smtp/

...