Как отправить электронную почту с помощью pyrocms?

Когда я пытаюсь отправить электронное письмо с помощью pyrocms, он показывает, что таблица email_template не существует, но эта таблица существует в базе данных с именем default_email_template. Я изменил имя этой таблицы, но ошибка не решается.


person Rahil Momin    schedule 26.06.2015    source источник


Ответы (1)


Самый простой способ отправлять электронные письма в pyrocms — использовать Events::trigger('email', $data, 'array')

Массив $data — это данные, которые вы используете в шаблоне электронной почты, а третий параметр — это «тип ожидаемого ответа» (см. pyrocms docs).

Массив $data должен, по крайней мере, содержать ключ «slug» — это слаг шаблона электронной почты, который вы хотите отправить.

Массив $data может также включать «от», «имя», «ответить», «кому» и «язык». Если они не указаны, pyrocms использует соответствующие настройки вашего веб-сайта (вы можете изменить их в разделе настроек бэкэнда)

person mgrueter    schedule 26.06.2015
comment
пожалуйста, примите ответ, чтобы другие пользователи могли видеть, что это помогло решить проблему. - person mgrueter; 30.06.2015
comment
@mgrueter У PyroCMS небольшое сообщество, хотя это отличная CMS/CMF. Не могли бы вы рассказать нам, как вы определили поля, доступные для $data? Просто его нет в документах. Кстати, спасибо за ответ. - person Allen Linatoc; 17.05.2016
comment
Конечно. Событие определено в system/cms/modules/templates/events.php. Я просто просматривал код (его немного) и отметил, какие параметры используются в фактической функции send_email. Наиболее важным является slug (это слаг шаблона электронной почты, который следует использовать). Другими параметрами являются lang, from, name, reply-to, to и attach. Если эти параметры не включены, они будут заменены соответствующим значением вашей установки - e. грамм. server_mail (взято из настроек) как с адреса. - person mgrueter; 17.05.2016