hoa / mail
Hoa\Mail库。
Requires
- hoa/consistency: ~1.0
- hoa/exception: ~1.0
- hoa/mime: ~3.0
- hoa/socket: ~1.0
This package is auto-updated.
Last update: 2021-09-20 08:31:24 UTC
README
Hoa是一个模块化、可扩展和结构化的PHP库集合。
此外,Hoa旨在成为工业和研究世界之间的桥梁。
Hoa-Mail
这个库允许您编写和发送丰富的电子邮件(文本内容、HTML文档、备选内容、附件等,非常可扩展)。可以使用sendmail或SMTP发送电子邮件。SMTP层支持TLS和PLAIN
、LOGIN
和CRAM-MD5
认证。
在不久的将来,这个库也将允许接收和解析电子邮件。
了解更多.
安装
使用Composer,要将此库添加到依赖项中,您需要要求hoa/mail
$ composer require hoa/mail '~0.0'
有关更多安装说明,请参阅源代码页面。
测试
在运行邮件套件之前,必须安装开发依赖项
$ composer install
然后,运行所有测试套件
$ vendor/bin/hoa test:run
有关更多信息,请参阅贡献者指南。
快速使用
我们提供了一个快速概述,以发送只包含一个内容的非常简单的电子邮件,然后是一个具有备选内容和附件的更复杂的电子邮件。
简单电子邮件
首先,就像任何消息软件一样,我们必须设置传输。我们将使用SMTP作为默认传输发送电子邮件。我们将指定SMTP服务器的一个套接字,一个登录名和一个密码
Hoa\Mail\Message::setDefaultTransport( new Hoa\Mail\Transport\Smtp( new Hoa\Socket\Client('tcp://mail.domain.tld:587'), 'gordon_freeman', '*********' ) );
然后,我们将获取一个消息实例并设置所有标题,例如From
、To
和Subject
,我们将添加一个文本内容并发送它
$message = new Hoa\Mail\Message(); $message['From'] = 'Gordon Freeman <gordon@freeman.hf>'; $message['To'] = 'Alyx Vance <alyx@vance.hf>'; $message['Subject'] = 'Hoa is awesome!'; $message->addContent( new Hoa\Mail\Content\Text('Check this out: http://hoa-project.net/!') ); $message->send();
请注意,我们可以使用任何视图或模板库来生成邮件内容!
丰富电子邮件
现在,我们不仅有文本内容,还有一个备选内容:文本或HTML。
$message->addContent( // We have either… new Hoa\Mail\Content\Alternative([ // … a text content new Hoa\Mail\Content\Text( 'Check this out: http://hoa-project.net/!' ), // … or an HTML content. new Hoa\Mail\Content\Html( '<a href="http://hoa-project.net/">Check this ' . '<strong>out</strong>!</a>' ) ]) );
然后,为了添加一个附件,我们将添加一种新的内容类型。附件是一个名为Foobar.jpg
的图片。因此
$message->addContent( new Hoa\Mail\Content\Attachment( new Hoa\File\Read('Attachment.jpg'), 'Foobar.jpg' ) );
最后,我们发送电子邮件
$message->send();
复杂电子邮件
现在想象一下,我们不仅想要将图片附加,还希望在HTML内容中显示它。这些内容是相关的。以下是构造电子邮件的方法(使用更多变量以阐明)
// The image. $attachment = new Hoa\Mail\Content\Attachment( new Hoa\File\Read('Attachment.jpg'), 'Foobar.jpg' ); // The text content. $text = new Hoa\Mail\Content\Text('Check this out: http://hoa-project.net/!'); // The HTML content. $html = new Hoa\Mail\Content\Html( '<img src="' . // The HTML image URL is the attachment ID URL. $attachment->getIdUrl() . '" />' ); $message->addContent( // Alternative contents and attachment are related. new Hoa\Mail\Content\Related([ // We still have 2 alternative contents: text or HTML. new Hoa\Mail\Content\Alternative([$text, $html]), $attachment ]) );
文档
《Hoa-Mail》黑客手册包含有关如何使用此库以及它是如何工作的详细信息。
要本地生成文档,请执行以下命令
$ composer require --dev hoa/devtools $ vendor/bin/hoa devtools:documentation --open
更多文档可以在项目的网站上找到: hoa-project.net。
获取帮助
主要有两种方式获取帮助:
- 在
#hoaproject
IRC频道上, - 在users.hoa-project.net的论坛上。
贡献
你想做出贡献吗?感谢!详细的贡献指南解释了你需要知道的一切。
许可证
Hoa遵循新BSD许可证(BSD-3-Clause)。请参阅LICENSE
以获取详细信息。