Yii2无法在yii2中发送电子邮件

时间:2015-05-11 12:37:42

标签: email yii2

我正在使用yii2而且我对此非常陌生,有人可以帮助我在此框架中发送电子邮件我使用swiftmailer并将配置设置为:

'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'useFileTransport' => false,
]

4 个答案:

答案 0 :(得分:0)

您需要正确配置传输

在这个例子中,我假设您使用gmail,如果不是这样,您需要使用您的值更改值。

    'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@common/mail',
        'useFileTransport' => false,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.gmail.com',
            'username' => 'yourName@gmail.com',
            'password' => 'yourPassword',
            'port' => '587',
            'encryption' => 'tls',
        ],
    ],

答案 1 :(得分:0)

'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'useFileTransport'=>false,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.gmail.com',
            'username' => 'test@gmail.com',
            'password' => 'password',
            'port' => '465',
            'encryption' => 'ssl',
        ],
    ],

将这些行添加到config / main.php。 为您的邮件正文制作一个视图,并在下面的函数中提供该视图的路径 并使用您要发送邮件的代码

$check=Yii::$app->mailer->compose('../../frontend/views/mail',  ['data'=> 'Mail data'])
        ->setFrom('test@gmail.com')
        ->setTo('testsent@gmail.com')
        ->setSubject('check sending mail')
        ->send();
    var_dump($check);

答案 2 :(得分:0)

在组件部分下的common->config->main-local.php文件中添加以下代码:

'mailer' => [
    'class' => 'yii\swiftmailer\Mailer',
    'viewPath' => '@common/mail',
    'useFileTransport' => false,
    'transport' => [
        'class' => 'Swift_SmtpTransport',
        'host' => 'smtp.gmail.com',
        'username' => 'your@email.com',
        'password' => 'password',
        'port' => '465',
        'encryption' => 'ssl',
    ],
],

答案 3 :(得分:0)

当我在yii2中使用邮件时,请检查您的端口这是我的问题