tccl/email
Composer 安装命令:
composer require tccl/email
包简介
An email generation library
README 文档
README
This project provides a PHP library for email generation. It supports generating HTML and plain text emails plus multipart emails with embedded attachments.
Installation
$ composer require tccl/email
Sample Usage
Sending HTML email with style modifications
<?php use TCCL\Email\HTMLGenerator; use TCCL\Email\Mailer; $html = new HTMLGenerator; $html->setContent(file_get_contents('test.html')); $html->addModifier('*',[ 'styles' => 'max-width: 650px;font-family: sans-serif;', 'exclude' => array_fill_keys(['html','center'],true), ]); $html->addModifier('body',[ 'styles' => 'background-color: #f7f7f7', ]); $mailer = new Mailer($html); $mailer->sendMail( '😀 A test mail for testing purposes', Mailer::encodeEmail('Smith, John <john.smith@example.com>'), 'jill.smith@example.com', 'Smith, Jill' );
Sending an email with an attachment
<?php use TCCL\Email\Attachment; use TCCL\Email\HTMLGenerator; use TCCL\Email\Mailer; use TCCL\Email\MultipartAlternative; use TCCL\Email\MultipartMixed; use TCCL\Email\PlainTextGenerator; $html = new HTMLGenerator; $html->setContent(file_get_contents('test.html')); $html->addModifier('*',[ 'styles' => 'max-width: 650px;font-family: sans-serif;', 'exclude' => array_fill_keys(['html','center'],true), ]); $html->addModifier('body',[ 'styles' => 'background-color: #f7f7f7', ]); $plain = new PlainTextGenerator; $plain->setContent('Use the telephone, Luke.'); $attach = new Attachment('./files/map.pdf','TheMap.pdf'); $mixed = new MultipartMixed; $alt = new MultipartAlternative; $mixed->addPart($alt); $alt->addPart($plain); // Alt should proceed html (for some reason...) $alt->addPart($html); $mixed->addPart($attach); $mailer = new Mailer($mixed); $mailer->send( 'Test <sender@example.com>', 'recipient@example.com', 'A test mail for testing purposes' );
Embedding an inline image
<?php use TCCL\Email\HTMLGenerator; use TCCL\Email\InlineImage; use TCCL\Email\Mailer; use TCCL\Email\MultipartRelated; spl_autoload_register(function($class){ $prefix = 'TCCL\Email\\'; if (substr($class,0,strlen($prefix)) == $prefix) { $class = substr($class,strlen($prefix)); $candidate = "../lib/$class.php"; if (is_file($candidate)) { include $candidate; } } }); $htmlRaw = <<<END <p>This is an inline image test.</p> <p>The following image is embedded in the email.</p> <img src="my-image.png"> END; // Create HTML email body. $html = new HTMLGenerator; $html->setContent($htmlRaw); $inline = new InlineImage('./my-image.png'); InlineImage::linkTo($html); $related = new MultipartRelated; $related->addPart($html); $related->addPart($inline); $mailer = new Mailer($related); $mailer->sendMail( '😀 A test mail for testing purposes', Mailer::encodeEmail('Smith, John <john.smith@example.com>'), 'jill.smith@example.com', 'Smith, Jill' );
tccl/email 适用场景与选型建议
tccl/email 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 02 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 tccl/email 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tccl/email 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-02-16