jack33232 / zjemailservice
此包已被弃用且不再维护。未建议替代包。
封装PHPMailer以简化使用。
0.0.1
2018-03-18 15:01 UTC
Requires
- php: >=5.5.0
- phpmailer/phpmailer: ~6.0
- psr/log: ~1.0
This package is auto-updated.
Last update: 2021-04-04 10:00:12 UTC
README
这是一个结合了强大的"PHPMailer"和语义化类库的库,可以帮助你在PHP应用程序中发送邮件时获得更便捷的使用体验。
依赖关系
{ "php": ">=5.5.0", "phpmailer/phpmailer": "~6.0", "psr/log": "~1.0" }
使用方法
注册邮件邮箱
在使用邮件邮箱之前,您需要通过提供一个设置数组(参照PHPMailer文档)、可选的邮箱名称和可选的PSR logger作为调试器来注册一个邮箱。默认情况下,邮箱的名称为"default"。至于PSR logger,这里有一个推荐的库:KLogger。
use ZJEmailService\EmailPostbox; use Katzgrau\KLogger\Logger; // All possible settings, please refer to PHPMailer Doc $postbox_setting = [ 'Host' => 'example.exchange.com', 'Port' => 25, 'ContentType' => 'text/html', 'SMTPAuth' => true, 'SMTPSecure' => 'tls', 'CharSet' => 'UTF-8', 'Encoding' => 'base64', 'SMTPOptions' => array(), 'Timeout' => 300, 'SMTPDebug' => 0, 'Debugoutput' => 'error_log' // only works when no debugger assigned ]; // Postbox name $postbox_name = 'example'; // PSR logger $debugger = new Logger(__DIR__.'/logs'); EmailPostbox::register($postbox_setting, $postbox_name, $debugger);
解锁邮箱
注册邮箱后,您应使用该SMTP的用户名和密码解锁邮箱。然后您可以使用邮箱实例发送邮件。
use ZJEmailService\EmailPostbox; $username = 'username@emample.com'; $password = 'password123'; $from = 'Username'; $postbox_name = 'example'; // The postbox is a singleton $postbox = EmailPostbox::unlock($username, $password, $from, $postbox_name);
将邮件组成一个< envelopes>对象
ZJEmailService库中的每个邮件都会被转换为一个< envelopes>对象。可以设置内容、主题、收件人、抄送、密送、附件等。该对象可以通过数组访问。
use ZJEmailService\Envelope; // Third parameter is the priority of the email $envelope = new Envelope('Test', 'Some text as email body', 'HIGH'); $envelope->setTo(['to@example.com', 'To Name']); $postbox->send($envelope);