當(dāng)用戶(hù)注冊(cè)郵箱,下單,忘記密碼等,都會(huì)給用戶(hù)發(fā)送一封郵件,郵件部分
支持多語(yǔ)言。
@common/config/fecshop_local_services/Email.php
配置如下:
return [
'email' => [
'mailerConfig' => [
# 默認(rèn)通用配置
'default' => [
'class' => 'yii\swiftmailer\Mailer',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.qq.com', #SMTP Host
'username' => '372716335@qq.com', #SMTP 賬號(hào)
'password' => 'wffmbummgnhhcbbj', #SMTP 密碼
'port' => '587', #SMTP 端口
'encryption' => 'tls',
],
'messageConfig'=>[
'charset'=>'UTF-8',
],
],
],
],
];
對(duì)于上面配置中的的 mailerConfig
,除了default
,您還可以繼續(xù)添加其他的SMTP
配置,
您只要配置完上面的文件,就把smtp配置好了。
fecshop的配置文件為:@fecshop/config/services/Email.php
在郵件模板里面可以指定使用上面配置文件中的mailerConfig里面的
數(shù)組key
,譬如default
。
在customer子服務(wù)中就可以設(shè)置,譬如:
'login' => [
'enable' => true,
# 郵件內(nèi)容的動(dòng)態(tài)數(shù)據(jù)提供部分
'widget' => 'fecshop\services\email\widgets\customer\account\login\Body',
# 郵件內(nèi)容的view部分
'viewPath' => '@fecshop/services/email/views/customer/account/login',
# 如果不定義 mailerConfig,則會(huì)使用email service里面的默認(rèn)配置
'mailerConfig' => 'default',
],
對(duì)于郵件里面會(huì)出現(xiàn)一些store方面的公用配置,在配置文件中可以看到
//公用配置
'mailerInfo' => [
#在郵件中顯示的Store的名字
'storeName' => 'FecShop',
# 在郵件中顯示的電話(huà)
'phone' => 'xxxxxxxxxx',
# 在郵件中顯示的聯(lián)系郵箱地址。
'contacts' => [
'emailAddress' => '2358269014@qq.com',
],
],
修改成您自己的信息即可.
注意:不要在 vendor/fancyecommerce下面修改任何文件, 對(duì)配置的更改,您應(yīng)該在您的配置目錄下添加, 譬如您可以在 @appfront/config/fecshop_local_services/Email.php 下面 添加配置,在系統(tǒng)初始化的時(shí)候,高優(yōu)先級(jí)的配置會(huì)覆蓋fecshop的配置。
在文件 @fecshop/config/services/Email.php
中對(duì)
子服務(wù) customer 里面,有很多郵件模板的配置
viewPath
就是郵件模板html部分 , widget
是動(dòng)態(tài)數(shù)據(jù)提供部分。
譬如:
'customer' => [
'class' => 'fecshop\services\email\Customer',
# 各個(gè)郵件的模板部分:
'emailTheme' => [
# 注冊(cè)賬戶(hù)發(fā)送的郵件的模板配置
'register' => [
'enable' => true,
# 郵件內(nèi)容的動(dòng)態(tài)數(shù)據(jù)提供部分
'widget' => 'fecshop\services\email\widgets\customer\account\register\Body',
# 郵件內(nèi)容的view部分
'viewPath' => '@fecshop/services/email/views/customer/account/register',
/**
* 1.默認(rèn)是default,譬如下面的 'mailerConfig' => 'default',你可以不填寫(xiě),因?yàn)槟J(rèn)就是default
* 2.您可以使用上面email服務(wù)的配置項(xiàng)mailerConfig中的設(shè)置的各個(gè)項(xiàng),譬如填寫(xiě)default 或者 login等。
* 3.您還可以直接填寫(xiě)數(shù)組的配置(完整配置),譬如:
* 'register' => [
* 'class' => 'yii\swiftmailer\Mailer',
* 'transport' => [
* 'class' => 'Swift_SmtpTransport',
* 'host' => 'smtp.qq.com',
* 'username' => '372716335@qq.com',
* 'password' => 'wffmbummgnhhcbbj',
* 'port' => '587',
* 'encryption' => 'tls',
* ],
* 'messageConfig'=>[
* 'charset'=>'UTF-8',
* ],
*
* ],
*/
'mailerConfig' => 'default',
],
# 登錄用戶(hù)發(fā)送郵件的模板的設(shè)置。
'login' => [
'enable' => true,
# 郵件內(nèi)容的動(dòng)態(tài)數(shù)據(jù)提供部分
'widget' => 'fecshop\services\email\widgets\customer\account\login\Body',
# 郵件內(nèi)容的view部分
'viewPath' => '@fecshop/services/email/views/customer/account/login',
# 如果不定義 mailerConfig,則會(huì)使用email service里面的默認(rèn)配置
'mailerConfig' => 'default',
],
# 忘記密碼發(fā)送郵件的模板的設(shè)置
'forgotPassword' => [
'enable' => true,
'widget' => 'fecshop\services\email\widgets\customer\account\forgotpassword\Body',
# 郵件內(nèi)容的view部分
'viewPath' => '@fecshop/services/email/views/customer/account/forgotpassword',
#忘記密碼郵件發(fā)送后的超時(shí)時(shí)間。
'passwordResetTokenExpire' => 86400, # 3600*24*1, # 一天
# 如果不定義 mailerConfig,則會(huì)使用email service里面的默認(rèn)配置
# 通過(guò)郵箱找回密碼,發(fā)送的resetToken過(guò)期的秒數(shù)
'mailerConfig' => 'default',
],
# 聯(lián)系我們發(fā)送的郵件模板
'contacts' => [
'enable' => true,
# 聯(lián)系我們的郵箱地址
# widget 郵件動(dòng)態(tài)數(shù)據(jù)提供部分。
'widget' => 'fecshop\services\email\widgets\customer\contacts\Body',
# 郵件內(nèi)容的view部分
'viewPath' => '@fecshop/services/email/views/customer/contacts',
'address' => '2358269014@qq.com',
# 如果不定義 mailerConfig,則會(huì)使用email service里面的默認(rèn)配置
//'mailerConfig' => 'default',
],
# 訂閱newsletter后發(fā)送的郵件模板。
'newsletter' => [
# 訂閱郵件成功后,是否發(fā)送郵件給用戶(hù)
'enable' => true,
# widget 郵件動(dòng)態(tài)數(shù)據(jù)提供部分。
'widget' => 'fecshop\services\email\widgets\customer\newsletter\Body',
# 郵件內(nèi)容的view部分
'viewPath' => '@fecshop/services/email/views/customer/newsletter',
# 如果不定義 mailerConfig,則會(huì)使用email service里面的默認(rèn)配置
'mailerConfig' => 'default',
],
],
],
對(duì)于郵件模板 , widget
(動(dòng)態(tài)數(shù)據(jù)) 和 viewPath
(靜態(tài)文件)
功能形成了模板內(nèi)容。
widget
對(duì)應(yīng)的是動(dòng)態(tài)數(shù)據(jù)的php對(duì)象,譬如:'widget' => 'fecshop\services\email\widgets\customer\newsletter\Body'
對(duì)應(yīng)的是@fecshop\services\email\widgets\customer\newsletter\Body.php
文件
view
是html部分的路徑,在該路徑下面需要有subject
(郵件標(biāo)題)和body
(郵件內(nèi)容)兩個(gè)部分,然后加上語(yǔ)言,
譬如:@fecshop/services/email/views/customer/newsletter
下面有
subject_en.php
和body_en.php
兩個(gè)文件,代表英文語(yǔ)言的郵件標(biāo)題和郵件內(nèi)容,
你可以添加subject_fr.php和body_fr.php兩個(gè)文件,代表
法文狀態(tài)下的郵件標(biāo)題和郵件內(nèi)容。
如果您想要得到法文的郵件,但是沒(méi)有subject_fr.php 和 body_fr.php 文件,那么,系統(tǒng)會(huì)使用默認(rèn)語(yǔ)言的郵件,也就是subject_en.php 和body_en.php
如果您想重寫(xiě)郵件的內(nèi)容,那么您在配置中重新指定viewPath
和widget
的值,在路徑中重新寫(xiě)subject
和body
文件即可。
更多建議: