eseperio/yii2-email-accounts-manager

在单个yii2项目中使用和管理多个电子邮件账户

1.0.4 2023-02-05 18:49 UTC

This package is auto-updated.

Last update: 2024-09-02 08:16:10 UTC


README

在同一个项目中使用和管理不同的电子邮件账户。具有测试配置并确保其正确性的方法。

特性

  • 管理多个电子邮件账户
  • SMTP + IMAP 配置
  • SMTP + IMAP 实时测试
  • 自动发现SMTP和IMAP设置(如有可用)

安装

安装此扩展的首选方法是使用 composer

composer require eseperio/yii2-email-accounts-manager

ext-simplexml 是自动发现功能所需的,但并未在 composer.json 中要求,因此您可以在不使用自动发现的情况下使用库。

将迁移路径添加到您的控制台配置中

return [
    'controllerMap' => [
        'migrate' => [
            'class' => 'yii\console\controllers\MigrateController',
            'migrationPath' => [
                '@vendor/eseperio/yii2-email-accounts-manager/src/migrations',
            ],
        ],
    ],
];

将模块添加到您的应用程序模块配置中

return [
    'modules' => [
        'email-manager' =>[
            'class'=> \eseperio\emailManager\EmailManagerModule::class,      
            'showImapSettings' => false, // change if you need imap settings to be shown,
            // 'mailer'=> 'mailer',
            // 'transport => ['class' => 'Swift_SmtpTransport'],
        ],
       
    ]
]

用法

Important: This module will replace the current transport for the mailer defined and it does not restore to previous value. 
If you want to prevent this use a different mailer component for this module.

此模块包括检查电子邮件账户是否有效和使用给定配置发送电子邮件的方法。

EmailAccount 模型包括有用的方法,如 getTransport()setAsMainTransport()

getTransport() 返回基于模块内定义的配置和账户本身的传输配置。

setAsMainTransport() 将设置模块配置中定义的邮件组件的传输配置,并返回邮件实例。 compose($view='',$params=[]) 将返回一个预先配置了账户的传输配置以及 setFrom 定义了账户地址的新消息实例。

从自定义账户发送电子邮件

use eseperio\emailmanager\models\EmailAccount;

$account = EmailAccount::findOne(1)->compose('test', ['message' => 'Hello world!'])->setTo('someaddress@example.com')->send();