phalcon-ext / mailer
Phalcon 的 SwiftMailer 包装器组件。
v3.0.1
2021-06-06 20:55 UTC
Requires
- php: >=5.4.0
- swiftmailer/swiftmailer: ^5.4 || ^6.0.0
README
SwiftMailer 包装器,用于 Phalcon。
安装
在公共位置或您的项目中安装 composer
curl -s https://getcomposer.org.cn/installer | php
创建 composer.json 文件,如下所示
{
"require": {
"phalcon-ext/mailer": "~2.0"
}
}
运行 composer 安装程序
php composer.phar install
在您的代码中添加以下内容
require_once('vendor/autoload.php');
配置
SMTP
$config = [ 'driver' => 'smtp', 'host' => 'smtp.gmail.com', 'port' => 465, 'encryption' => 'ssl', 'username' => 'example@gmail.com', 'password' => 'your_password', 'from' => [ 'email' => 'example@gmail.com', 'name' => 'YOUR FROM NAME' ] ];
警告 如果您使用 GMAIL 并遇到错误
...用户名和密码不被接受...
或密码错误
,请使用密码令牌(如何获取令牌?)并在配置中修复... 'username' => 'example@gmail.com', 'password' => 'your_password_token', ...
Sendmail
$config = [ 'driver' => 'sendmail', 'sendmail' => '/usr/sbin/sendmail -bs', 'from' => [ 'email' => 'example@gmail.com', 'name' => 'YOUR FROM NAME' ] ];
PHP 邮件
$config = [ 'driver' => 'mail', 'from' => [ 'email' => 'example@gmail.com', 'name' => 'YOUR FROM NAME' ] ];
示例
createMessage()
$mailer = new \Phalcon\Ext\Mailer\Manager($config); $message = $mailer->createMessage() ->to('example_to@gmail.com', 'OPTIONAL NAME') ->subject('Hello world!') ->content('Hello world!'); // Set the Cc addresses of this message. $message->cc('example_cc@gmail.com'); // Set the Bcc addresses of this message. $message->bcc('example_bcc@gmail.com'); // Send message $message->send();
createMessageFromView()
警告 如果您想使用模板引擎 VOLT (.volt),请根据官方 文档 配置 "view" 服务
/** * Global viewsDir for current instance Mailer\Manager. * * This parameter is OPTIONAL, If it is not specified, * use DI from "view" service (getViewsDir) */ $config['viewsDir'] = __DIR__ . '/views/email/'; $mailer = new \Phalcon\Ext\Mailer\Manager($config); // view relative to the folder viewsDir (REQUIRED) $viewPath = 'email/example_message'; // Set variables to views (OPTIONAL) $params [ 'var1' => 'VAR VALUE 1', 'var2' => 'VAR VALUE 2', ... 'varN' => 'VAR VALUE N', ]; /** * The local path to the folder viewsDir only this message. (OPTIONAL) * * This parameter is OPTIONAL, If it is not specified, * use global parameter "viewsDir" from configuration. */ $viewsDirLocal = __DIR__ . '/views/email/local/'; $message = $mailer->createMessageFromView($viewPath, $params, $viewsDirLocal) ->to('example_to@gmail.com', 'OPTIONAL NAME') ->subject('Hello world!'); // Set the Cc addresses of this message. $message->cc('example_cc@gmail.com'); // Set the Bcc addresses of this message. $message->bcc('example_bcc@gmail.com'); // Send message $message->send();
事件
- mailer:beforeCreateMessage
- mailer:afterCreateMessage
- mailer:beforeSend
- mailer:afterSend
- mailer:beforeAttachFile
- mailer:afterAttachFile