Вопрос по отсылке почты через swiftmailer

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Вопрос по отсылке почты через swiftmailer

Сообщение mika_di »

Приветствую, всех. Подскажите пожалуйста как решить вопрос с отправкой почты с нескольких адресов в зависимости от ситуации, ну например help@mysite.ru, order@mysite.ru.
Подключил так

Код: Выделить всё

'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            //'viewPath' => '@common/mail',
            'useFileTransport' => false,
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.yandex.ru',
                'username' => 'help@mysite.ru',
                'password' => 'pass',
                'port' => '587',
                'encryption' => 'TLS',
            ],
        ],
а отправляю так

Код: Выделить всё

$subject = 'Важное письмо';
        $mailbody = '<h3>Отзыв с сайта</h3>
                            <p><b>Имя:</b>Имя</p>
                            <p><b>e-mail:</b> Адрес</p>
                            <p><b>Тема:</b>Тема</p>
                            <p><b>Текст:</b></p>
                            <p>Тело</p>
                            <a href="mailTo:help@mysite.ru">Ответить</a>
                            ';
        return \Yii::$app->mailer->compose()
            ->setFrom('help@mysite.ru')
            ->setTo('mytestemail@gmail.com')
            ->setSubject($subject)
            ->setTextBody($mailbody, 'text/html')
            ->send();
И вот в таком виде все нормально отправляется, а если поменять

Код: Выделить всё

->setFrom('help@mysite.ru')
скажем на

Код: Выделить всё

->setFrom('order@mysite.ru')
ошибка.
Как в этой ситуации поступать?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Вопрос по отсылке почты через swiftmailer

Сообщение ElisDN »

Код: Выделить всё

'helpMailer' => [
    'class' => 'yii\swiftmailer\Mailer',
    'messageConfig' => [
        'from' => ['help@mysite.ru' => 'Помощь'],
    ],
    'transport' => [
        ...
        'username' => 'help@mysite.ru',
    ],
],
'orderMailer' => [
    'class' => 'yii\swiftmailer\Mailer',
    'messageConfig' => [
        'from' => ['order@mysite.ru' => 'Служба заказов'],
    ],
    'transport' => [
        ...
        'username' => 'order@mysite.ru',
    ],
]

Код: Выделить всё

return \Yii::$app->get('helpMailer')
    ->compose('help', ['model' => $model])
    ->setTo($email)
    ->setSubject('Важное письмо')
    ->send();
    
return \Yii::$app->get('orderMailer')
    ->compose('order', ['order' => $order])
    ->setTo($email)
    ->setSubject('Важное письмо')
    ->send();
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Вопрос по отсылке почты через swiftmailer

Сообщение mika_di »

Дмитрий, спасибо большое.
Аватара пользователя
rugabarbo
Сообщения: 1063
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Вопрос по отсылке почты через swiftmailer

Сообщение rugabarbo »

Дима пропатчил удалённо очередной сайт (:
Ответить