Прежде всего, вы настроили учетные данные электронной почты для отправки электронных писем: для получения дополнительной информации вы можете прочитать прочитать учебное пособие по электронной почте Так что в вашем конфигурационном файле либо в main.php or main-local.php
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => 'emailaddress',
'password' => '******',
'port' => '587',
'encryption' => 'tls',
],
'useFileTransport' => false,
],
Один раз компонент почтовой программы настроен, вы можете использовать следующий код для отправки электронного письма:
Yii::$app->mailer->compose()
->setFrom('from@domain.com')
->setTo('to@domain.com')
->setSubject('Message subject')
->setTextBody('Plain text content')
->setHtmlBody('<b>HTML content</b>')
->send();
В приведенном выше примере метод compose () создает экземпляр почтового сообщения, который затем заполняется и отправляется , При необходимости вы можете поместить более сложные логики c в этот процесс:
$message = Yii::$app->mailer->compose();
if (Yii::$app->user->isGuest) {
$message->setFrom('from@domain.com');
} else {
$message->setFrom(Yii::$app->user->identity->email);
}
$message->setTo(Yii::$app->params['adminEmail'])
->setSubject('Message subject')
->setTextBody('Plain text content')
->send();