Fecshop 郵件

2018-05-24 14:49 更新

Fecshop 郵件

當用戶注冊郵箱,下單,忘記密碼等,都會給用戶發(fā)送一封郵件,郵件部分
支持多語言。

SMTP配置文件為:

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

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號