Fecshop 郵件

2018-05-24 14:49 更新

Fecshop 郵件

當(dāng)用戶(hù)注冊(cè)郵箱,下單,忘記密碼等,都會(huì)給用戶(hù)發(fā)送一封郵件,郵件部分
支持多語(yǔ)言。

SMTP配置文件為:

@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配置好了。

郵件選擇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.phpbody_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)容,那么您在配置中重新指定viewPathwidget 的值,在路徑中重新寫(xiě)subjectbody文件即可。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)