How to send e-mail from YII2 Application

Hi there, This tutorial will show you how to send emails from the yii2 application. Sending emails from the yii2 application is not a tedious task, in fact, we just need to edit/add the config options in your config file.

Yii2 providing a flexible interface for send emails, however, to send emails we have to use external Email libraries/extensions.

Yii2 by default using yii2-swiftmailer official extension.

Open your config/wep.php file and make the following adjustments to send emails using email function.

Find the following:

'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'viewPath' => '@common/mail',
            // send all mails to a file by default. You have to set
            // 'useFileTransport' to false and configure a transport
            // for the mailer to send real emails.
            'useFileTransport' => true,

This will be under the components parameters in the config array. In advanced YII2 application, the file will be in common/main-local.php by default.

Change the code to this:

return [
        'components' => [
            'mailer' => [
                'class' => 'yii\swiftmailer\Mailer',
                'viewPath' => '@common/mail',
                'transport' => [
                    'class' => 'Swift_MailTransport',
                'useFileTransport' => false,

useFileTransport must be changed to false and transport is set to use Swift_MailTransport.

See the following link for info on swiftmailer transport types.

Basic usage

After completing above email configurations steps. we can use below code to send emails.

    ->setFrom('[email protected]')
    ->setTo('[email protected]')
    ->setSubject('Message subject')
    ->setTextBody('Plain text content')
    ->setHtmlBody('HTML content')

See the following link for info on sending emails.

I hope you like this Post, Please feel free to comment below, your suggestion and problems if you face - we are here to solve your problems. Protection Status