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