Почему в настройках конфигурации / системы / отправки почты нигде не указано имя пользователя и пароль для вашего сервера smtp?
Чтобы обойти это, нужно внести изменения в getMail ()изложено в этом сообщении: http://www.magentocommerce.com/boards/viewthread/1073/P30/
Я хочу сделать что-то очень простое:
- создать шаблон электронной почты
- не нужно ссылаться на этот шаблон в каких-либо конфигурационных файлах.
- программно отправить электронное письмо с использованием шаблона, определенного выше
- указать значения для замены любых тегов в шаблоне
- указать адрес электронной почты получателя
- указать другие биты, например, адрес отправителя
Итак, первый шаг - создайте шаблон.
- В Confguration / Transactional Emails я полагаю, что должен увидеть список шаблонов.Я ничего не вижу.Но если я добавлю новый шаблон, я могу выбрать из списка шаблонов.
- дать шаблону имя «Боб».
- добавить несколько шаблонов в шаблон:
myvar1 = {{varmyvar1}}
myvar2 = {{var myvar2}}
- сохранить шаблон;ему присваивается идентификатор 1.
Теперь отправьте электронное письмо программно из действия контроллера:
- Нет необходимости вносить изменения в LINEEND в Mime.php, поскольку он уже установлен на \ n вверсия 1.4.2.0
- внести изменения в getMail () в Template.php, как указано в этом сообщении: http://www.magentocommerce.com/boards/viewthread/1073/P30/
- написать код в действии контроллера для отправки электронной почты:
This returns nothing:
$emailTemplate = Mage::getModel('core/email_template')->loadDefault('no matter what goes here emailTemplate is not set');
This does return an email template:
$emailTemplate = Mage::getModel('core/email_template')->loadByCode('Bob');
but the call to send below fails:
$emailTemplate->setSenderEmail('sent@byme.com');
$emailTemplate->setSenderName('Steve');
$emailTemplateVariables = array();
$emailTemplateVariables['myvar1'] = 'TestValue1';
$emailTemplateVariables['myvar2'] = 'TestValue2';
// $processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables); -- this returns nothing
$emailTemplate->send('thisisme@mydomain.com','John', $emailTemplateVariables);
In the system.log I get the warning below, and no e-mail ever arrives.
Warning: stream_socket_enable_crypto() [<a href='streams.crypto'>streams.crypto</a>]: this stream does not support SSL/crypto in C:\Applications\Apache Software Foundation\Apache2.2\htdocs\magento\lib\Zend\Mail\Protocol\Smtp.php on line 206
Должен ли я использовать loadByCode?Хотелось бы, чтобы была какая-то стоящая документация (справка для loadByCode - «Загрузить шаблон по коду» !!).Должен ли я использовать send, sendTransactional?Ох за немного качественной документации.
Спасибо