Yii2 - Setting Mailer Transport parameters on runtime(Yii2 - 在运行时设置邮件传输参数)
问题描述
我正在尝试设置邮件程序的配置,例如在我在下面添加的基本模板 config/web.php 中.
I am trying to set the configuration for the Mailer, for example in basic template config/web.php i have added below.
$config = [
'components' => [
'mailer' => [
'class' => 'yiiswiftmailerMailer',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'testmailhost.com', // want to replace with $mail_host
'username' => 'test@test.com',
'password' => 'testing111',
'port' => '587',
'encryption' => 'tls'
]
]
]
];
现在我想设置存储在数据库表设置中的主机、用户名、密码端口等值.那么如何在这里替换这些值.
Now I want to set the values for host, username, password port etc stored in database table settings. so how can replace these values here.
我创建了一个可以访问值的组件
I have created a component which I can access the values as
$st = Yii::$app->getTable;
$mail_host = $st->settings('general', 'mail_host');
推荐答案
Yii2 Mailer 类为您提供了一个名为 setTransport 您可以将传输配置数组作为参数传递给它.
The Yii2 Mailer class provides you with a public method named setTransport to which you can pass the transport config array as param.
在配置中只需添加邮件组件配置并通过您的自定义组件添加transport 配置.
In the config just add the mailer component configurations and add the transport configurations via your custom component.
$config = [
'components' => [
'mailer' => [
'class' => 'yiiswiftmailerMailer',
'useFileTransport' => false,
]
]
];
查看下面的代码,您现在可以在您的组件中使用它从您的数据库中添加传输配置.
See the below code, you can use it in your component now to add the transport configurations from your database.
Yii::$app->mailer->setTransport(
[
'class' => 'Swift_SmtpTransport',
'host' => 'localhost',
'username' => 'username',
'password' => 'password',
'port' => '587',
'encryption' => 'tls'
]
);
希望这会有所帮助.
这篇关于Yii2 - 在运行时设置邮件传输参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Yii2 - 在运行时设置邮件传输参数
基础教程推荐
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- 如何替换eregi() 2022-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
