钥匙要点
-
Swift Mailer是一个功能强大的,基于组件的库,允许程序员使用面向对象的方法轻松发送电子邮件,而SPL扩展名则最小的PHP 5.2或更高要求,最小内存限制为8MB。
Swift Mailer可以通过梨安装,也可以通过使用FTP上传文件来安装。它由150多个类别和接口组成,包括邮件,运输商,MIME实体,编码器和插件。
- > Swift Mailer提供了功能,可以与多个收件人,一个主题和平坦的主体创建电子邮件。它还允许附件,自定义SMTP配置以及跟踪未收到电子邮件的收件人。 Swift Mailer还具有一个装饰插件,可让您将相同的电子邮件发送给具有较小差异的几个收件人,例如电子邮件主体内的收件人名称。这对于将新闻通讯发送给订阅者等任务是有益的。
- > 以编程方式发送电子邮件是程序员必须经常处理的常见任务。尽管您可以使用PHP的本机功能,但它们可能太低,尤其是当您想将一个或多个文件附加到消息时。如果您不想使用本机函数,或者您想使用面向对象的方法发送邮件,那么这就是您的文章。我将向您介绍Swift Mailer,这是一个功能强大的基于组件的库,可以让您轻松发送电子邮件。 Swift Mailer始于2005年,是一个提供多个类的库,可让您从PHP脚本或Web应用程序中发送电子邮件。 Swift Mailer有一些要求,但是它们很小。图书馆需要PHP 5.2或更高,具有SPL扩展名,最小内存限制为8MB。 引用正式文档,安装Swift Mailer是微不足道的。通常,这只是将提取的源文件上传到您的Web服务器的一种情况。安装库的最简单方法是通过梨或使用FTP上传文件。 从梨通道安装只是两个类型命令的问题:
- 如果您使用共享托管,并且无法访问命令壳,那么第二种方法可能是最容易的方法。只需从官方网站下载图书馆并上传LIB文件夹即可。 Swift Mailer classs
- Swift Mailer由150多个类别和界面组成,将其分成几个组件。他们每个人都有一个特定的目的。
pear channel-discover pear.swiftmailer.org pear install swift/swift
如您所见,Swift_mailtransport用于创建一个将使用本机PHP Mail()函数的传输层实例。然后我创建了一个swift_message 您可以将其视为电子邮件对象的实例。在以下几行中,我使用Setto()方法,使用setSubject(),使用setBody()的电子邮件主体以及使用setFrom()方法来设置收件人。通过定义的层和创建的电子邮件,是时候实际发送电子邮件了,该电子邮件是使用Swift_mailer类的send()方法完成的。
一个带有附件的示例pear channel-discover pear.swiftmailer.org pear install swift/swift毫无疑问,附件是当今电子邮件系统的主要内容。没有他们,没有人可以活着。这个稍微复杂的示例将向您展示如何发送一封电子邮件,不仅具有附件,而且还具有其他功能。
>另外两个接收器,一个在CC中,第二个接收器使用setcc()和setBcc()。
pear channel-discover pear.swiftmailer.org pear install swift/swift。它接受两个参数:SMTP服务器和连接端口。您可以使用该实例设置适当的用户名和密码,以使用setUsername()和setPassword()方法访问服务器。然后,就像第一个示例一样,我创建了一个swift_message对象,并设置收件人,主题等。但是,这次我还利用了SETCC()和SETBCC() 正如您可能猜到的那样,方法可以使您设置碳复制和盲碳复制收件人。 此示例的关键方法是附加(),该方法使用static方法从硬盘中获取的文件(),该静态方法从()沿着要附加作为其参数附加的文件的路径。请注意,这次我还使用Send()方法的第二个参数打印了检索到的失败收件人的数量。 使用模板
第三个也是最后一个示例向您展示了如何使用Decorator插件,非常适合将新闻通讯发送给订户。它使您可以将相同的电子邮件发送给几个具有较小差异的收件人,例如电子邮件主体内的收件人名称。该插件将在模板内(主体)内部查看,并将用设定值替换占位符。 要使用插件,您首先需要使用registerplugin()方法进行注册,然后构建和使用替换值数组。在以下代码中,我将放置两个占位符,
> username和> transactions ,这些占位符将通过参考用户电子邮件的值替换。 装饰器插件构造函数接受一个参数:一个值阵列以替换占位符。此数组的每个值都使用用户的电子邮件以及包含占位符补充对的子阵列。这正是$替换阵列的目的。在上面的示例中,作为占位符,我在两个括号内使用了一个字符串(即{fullname})但是您可以使用任何想要的东西。这次,我没有像以前一样将所有收件人设置为同一语句中的所有收件人,我使用了循环。之所以这样做,是因为插件拦截了发送过程,读取收件人电子邮件,并使用替换阵列的值替换了占位符。结论
在本文中,我展示了如何使用Swift Mailer轻松发送电子邮件。如您所见,这是一个非常强大的库,可以使用OOP方法来做很多事情。当然,Swift Mailer还有很多其他方法和课程,我在本文中没有介绍过。您可以在官方文档中研究它们,但这应该足以让您开始毫无麻烦地发送电子邮件。 通过fotolia 图像 经常询问有关Swift Mailer的问题>如何使用Composer安装Swift Mailer?> Swift Mailer可以使用Composer轻松安装Composer,该工具是PHP中依赖关系管理的工具。要安装Swift Mailer,您需要在系统上安装作曲家。安装了作曲家后,您可以通过在项目目录中运行以下命令来安装Swift Mailer:作曲家需要“ Swiftmailer/SwiftMailer:^6.0”。此命令告诉作曲家将Swift Mailer软件包及其依赖项下载到您的项目中。
>
>我如何使用Swift Mailer发送电子邮件?>
>与Swift Mailer一起发送电子邮件涉及创建消息,配置邮件器并发送消息。这是如何使用Swift Mailer发送电子邮件的基本示例:
require_once'/path/to/vendor/autoload.php'php';
> - > setSubject('Hello')
- > setFrom(['john@doe.com'=>'john doe'])
> - > setto(['receiver@domain.org','elethn@domain.org'=>'a name'])
- > setBody('这是消息本身');
> $ transport =(new Swift_smtptransport('smtp.example.org',25))
> - > setUsername('yourSername'')
> - > setPassword('your password');
$ mailer = new swift_mailer($ transport);
$ $ result = $ mailer-> send($ message) >如何使用Swift Mailer将附件添加到电子邮件中?您可以从路径,字符串或现有的Swift附件实例附加文件。这是如何从路径附加文件的示例:
- > setSubject('hello'')
- > setfrom(['john john @doe.com'=>'john doe'])) - > setto(['receiver@domain.org'])
- > setBody('这是消息本身')
- >附加(swift_attachment :: frompath('path/to/to/to/image.jpg'));
>如何使用Swift Mailer发送HTML电子邮件?
Swift Mailer允许您通过将邮件的主体设置为HTML字符串并将内容类型设置为“ text/html”来发送HTML电子邮件。这是一个示例:
$ message =(new Swift_message())
- > setSubject('Hello')
- > setFrom(['john@doe.com'=>'john doe']))
- > setto(['recevive@domain.org'])
- > setBody('
这是 html 消息本身
','text/html');>在发生错误时,如何处理Swift Mailer中的错误?您可以捕获这些例外来处理错误。这是一个示例:
尝试{
$ result = $ mailer-> send($ messagy)发送电子邮件:'。美元设置。这是一个示例:
$ transport =(new Swift_smtptransport('smtp.gmail.com',465,'ssl'))
> - > setUsername('gmail username'your gmail username'') > setPassword('您的gmail密码');
>如何使用Swift Mailer发送多个电子邮件?
>您可以通过创建多个消息实例并使用同一Mailer实例发送多个电子邮件,并通过Swift Mailer发送多个电子邮件。这是一个示例:
$ message1 =(new swift_message())
- > setSubject('Hello')
- > setFrom(['john@doe.com'=>'john john doe']))
- > setto(['receviver1@domain.org'])
> - > setBody('这是消息本身');
$ message2 =(new Swift_message())
- > setSubject('Hello') - > setFrom(['john@doe.com'=>'John Doe ']))
- > setto(['receiver2@domain.org'])
- > setBody('这是消息本身');
$ result1 = $ mailer-> send($ message1);
$ result2 = $ mailer-> send($ message2);
>
>我如何使用Swift使用SYMFONY?
Swift Mailer与Symfony集成在一起,可以用作服务。您可以通过获取邮件服务并使用它发送消息来与Swift Mailer一起发送电子邮件。这是一个示例:
$ message =(new Swift_message())
- > setSubject('Hello')
- > setFrom(['john@doe.com'=>'john doe']))
- > setto(['recevive@domain.org'])
- > setBody('这是消息本身');
$ this-> get('mailer') - > send($ message);
>>如何使用Swift Mailer?
>您可以通过在消息实例上调用SetPriority方法来设置电子邮件的优先级。优先级是1(最高)和5(最低)之间的整数。这是一个示例:
$ message =(new Swift_message())
- > setSubject('Hello')
- > setFrom(['john@doe.com'=>'john doe']))
- > setto(['recevive@domain.org'])
> setBody('这是消息本身')
> - > setPriority(1);
>如何使用Swift Mailer异步发送电子邮件?但是,您可以使用消息队列实现这一目标。您可以加入消息,然后将它们发送到单独的过程中。这允许您的应用程序继续处理其他任务而无需等待发送电子邮件。>
以上是PHP主|与Swift Mailer一起发送电子邮件的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了PHP数据对象(PDO),这是PHP中数据库访问的扩展名。它通过准备好的语句及其对MySQLI的好处,包括数据库抽象和更好的错误处理,强调了PDO在增强安全性方面的作用。

memcache和memcached是通过减少数据库负载加快Web应用程序的PHP缓存系统。可以在仔细的密钥管理的项目之间共享一个实例。

本文讨论了JavaScript和PHP如何通过HTTP请求间接相互作用,因为它们的环境不同。它涵盖了将数据从JavaScript发送到PHP的方法

文章讨论了PHP从1995年的“个人主页工具”到1998年的“ PHP:超文本预处理器”的演变,这反映了其超越个人网站的扩展使用。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具