@hanyll

Yii2 Swiftmailer — как задать отправителя по умолчанию?

Использую в проекте Yii2, в котором настраиваю отправку писем через родной для него Swiftmailer. Для указания отправителя можно использовать setFrom(). Но каждый раз при отправке писем делать одно и тоже, указывать одного и того отправителя неудобно. Возможно ли один раз, через конфиг указать отправителя, который будет подставляться по умолчанию при каждой отправки писем?
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Задайте параметр в params, где укажите email админа

// в params.php
return [
    'adminEmail' => 'admin@main.com',
]
// в контроллере
if($model->load(Yii::$app->request->post()) && $model->contact(Yii::$app->params['adminEmail'])){

            Yii::$app->session->setFlash('contactFormSubmitted');

            return $this->refresh();

}
Ответ написан
Комментировать
at0m1x
@at0m1x
Отправителя также можно указать в конфиге приложения \config\web.php

...
'components' => [
    ...
    'mailer' => [
        ...
        'messageConfig' => [
            ...
            'from' => ['noreply@site.com' => 'Site Name'],
            ...
        ],
    ...
    ],
    ...
]
...


При этом, не нужно будет каждый раз при отправке письма указывать отправителя, он подставиться автоматически, т.е. будет взят из этого конфига.

Подробнее о нюансах работы со Swiftmailer можно почитать тут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы