libreworks / swiftmailer-spools
SwiftMailer库使用的额外spools
2.0.0
2018-02-10 23:05 UTC
Requires
- php: >=7.0.0
- swiftmailer/swiftmailer: ^6.0
Requires (Dev)
- phpdocumentor/reflection-docblock: ^2.0
- phpunit/phpunit: ^6.0.0
This package is not auto-updated.
Last update: 2024-09-19 13:09:49 UTC
README
SwiftMailer库使用的额外spools。
这包括PDO和MongoDB的spools。
安装
您可以使用Composer安装此库
$ composer require libreworks/swiftmailer-spools
- 此项目的master分支(版本2.x)依赖于SwiftMailer 6.0+,需要PHP 7.0。
- 此项目的1.x版本依赖于SwiftMailer 5.4+,需要PHP 5.3。它也兼容HHVM。
合规性
此库的版本将遵循语义版本控制。
我们的代码旨在遵守PSR-1和PSR-2。如果您发现任何与标准合规性相关的问题,请提交拉取请求!
示例
以下是使用spools发送的Swift_Mailer
对象实例化的方法。
$mailer = \Swift_Mailer::newInstance( \Swift_SpoolTransport::newInstance( $spool // your spool goes here ) ); // this e-mail will get spooled $mailer->send(new \Swift_Message($subject, $body, $contentType, $charset));
以下是实例化用于发送缓存的电子邮件的Swift_Transport
的方法。
$transport = \Swift_SmtpTransport::newInstance($smtpHost, $smtpPort, $smtpEncrypt) ->setUsername($smtpUsername) ->setPassword($smtpPassword); $spool->recover(); $spool->flushQueue($transport);
PDO缓池
$pdo = new \PDO("mysql:dbname=testdb;host=127.0.0.1", 'user', 'pass'); $spool = new \Swift_PdoSpool( $pdo, "email", // table "id", // primary key field "message", // serialized email field "sentOn", // sent integer timestamp );
MongoDB缓池
$manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017"); $rp = new \MongoDB\Driver\ReadPreference(\MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED); $wr = new \MongoDB\Driver\WriteConcern(\MongoDB\Driver\WriteConcern::MAJORITY); $spool = new \Swift_MongoDbSpool( $manager, "dbname.emails", $rp, // optional $wc, // optional );
Mongo缓池(1.x版本中已弃用;2.x版本中已移除)
$client = new \MongoClient(); $db = new \MongoDB("dbname", $client); $collection = new \MongoCollection($db, "emails"); $spool = new \Swift_MongoSpool($collection);