phpmailerflamin / phpmailer
PHPMailer 编辑版,文件更少
Requires
- php: >=5.0.0
This package is not auto-updated.
Last update: 2024-09-24 05:51:08 UTC
README
PHPMailer - 一个功能齐全的 PHP 邮件创建和传输类
类功能
- 可能是世界上发送电子邮件最流行的 PHP 代码!
- 被许多开源项目使用:Drupal、SugarCRM、Yii、Joomla! 等等
- 集成的 SMTP 支持 - 无需本地邮件服务器即可发送邮件
- 发送包含多个 TO、CC、BCC 和 REPLY-TO 的电子邮件
- 支持邮件客户端不读取 HTML 邮件的 multipart/alternative 邮件
- 支持 8bit、base64、二进制和 quoted-printable 编码
- 支持使用 LOGIN、PLAIN、NTLM 和 CRAM-MD5 机制的 SMTP 身份验证
- 支持本地化语言
- 支持 DKIM 和 S/MIME 加密
- 与 PHP 5.0 及以上版本兼容
- 更多功能!
为什么你可能需要它
许多 PHP 开发者在其代码中使用了电子邮件。唯一支持此功能的 PHP 函数是 mail() 函数。然而,它不提供任何帮助来使用诸如基于 HTML 的电子邮件和附件等流行功能。
正确格式化电子邮件非常困难。有无数的重叠 RFC,需要严格遵守复杂难懂的格式化和编码规则 - 你在网上找到的绝大多数直接使用 mail() 函数的代码都是完全错误的! 请 不要被诱惑自己来做这件事 - 如果你没有使用 PHPMailer,那么在编写自己的代码之前,应该先查看许多其他优秀的库 - 尝试 SwiftMailer、Zend_Mail、eZcomponents 等等。
PHP 的 mail() 函数通常通过本地邮件服务器发送,通常由 Linux、BSD 和 OS X 平台上的 sendmail 二进制文件提供前端,然而,Windows 通常不包括本地邮件服务器;PHPMailer 的集成 SMTP 实现允许在 Windows 平台上无需本地邮件服务器即可发送电子邮件。
许可证
本软件根据 LGPL 2.1 许可。请阅读 LICENSE 以获取有关软件可用性和分发的信息。
安装与加载
PHPMailer可通过Composer/Packagist获取。或者,只需将PHPMailer文件夹的内容复制到您的PHP include_path
设置中即可。如果您不懂git或者只想下载压缩包,请点击GitHub页面顶部的'zip'按钮。
PHPMailer提供了一个与SPL兼容的自动加载器,这是加载库的首选方式 - 只需require '/path/to/PHPMailerAutoload.php';
,一切应该都会正常工作。如果自动加载器找不到类,它不会抛出错误,因此它会将自己添加到SPL列表中,允许您的(或您的框架的)自动加载器捕获错误。SPL自动加载是在PHP 5.1.0中引入的,因此如果您使用的是比这更早的版本,您需要手动require/include每个类。PHPMailer没有声明命名空间,因为命名空间是在PHP 5.3中引入的。
最小安装
虽然手动或使用Composer安装整个包很简单、方便和可靠,但您可能只想将项目中的关键文件包含在内。至少您需要class.phpmailer.php。如果您使用SMTP,则需要class.smtp.php,如果您使用POP-before SMTP,则需要class.pop3.php。对于所有这些,我们建议您也使用自动加载器。如果您不向用户显示错误信息,并且可以仅使用英语错误信息,则可以跳过language文件夹。如果您使用NTLM身份验证、高级HTML到文本转换和ics生成等特性,您可能需要extras文件夹中的额外类。
一个简单的例子
<?php require 'PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup server $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'jswan'; // SMTP username $mail->Password = 'secret'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted $mail->From = 'from@example.com'; $mail->FromName = 'Mailer'; $mail->addAddress('josh@example.net', 'Josh Adams'); // Add a recipient $mail->addAddress('ellen@example.com'); // Name is optional $mail->addReplyTo('info@example.com', 'Information'); $mail->addCC('cc@example.com'); $mail->addBCC('bcc@example.com'); $mail->WordWrap = 50; // Set word wrap to 50 characters $mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Here is the subject'; $mail->Body = 'This is the HTML message body <b>in bold!</b>'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; if(!$mail->send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; exit; } echo 'Message has been sent';
您可以在examples文件夹中找到更多可以操作的内容。
就是这样。现在您应该可以使用PHPMailer了!
本地化
PHPMailer默认使用英语,但在language文件夹中,您会发现许多(撰写本文时为31个)可能遇到的PHPMailer错误消息的翻译。它们的文件名包含ISO 639-1语言代码,例如fr
代表法语。要指定语言,您需要告诉PHPMailer要使用哪种语言,例如
// To load the French version $mail->setLanguage('fr', '/optional/path/to/language/directory/');
我们欢迎更正和新语言。
文档
生成的文档可在网上找到。
您可以在docs文件夹中找到一些基本用户级文档,您可以使用docs文件夹中的generatedocs.sh shell脚本生成完整的API级文档,尽管您需要先安装PHPDocumentor。您可能会发现单元测试是了解如何执行加密等各种操作的好来源。
测试
在test文件夹中有一个PHPUnit测试脚本。
如果这个没有通过,你能做些什么来帮助吗?
贡献
请将错误报告、建议和拉取请求提交到GitHub问题跟踪器。
我们特别感兴趣的是修复边缘情况、扩展测试覆盖范围和更新翻译。
随着迁移到PHPMailer GitHub组织,您需要使用以下命令从您的克隆中更新引用旧GitHub位置的任何远程URL
git remote set-url upstream https://github.com/PHPMailer/PHPMailer.git
请不要再使用SourceForge或Google Code项目。
变更日志
请参阅变更日志。
历史
- PHPMailer最初由Brent R. Matzelle在2001年编写,作为一个SourceForge项目。
- Marcus Bointon(SF上的coolbru)和Andy Prevost(codeworxtech)于2004年接管了该项目。
- 2010年成为Google Code上的Apache孵化器项目,由Jim Jagielski管理。
- Marcus在GitHub上创建了其分支。
- Jim和Marcus决定联手,并使用GitHub作为PHPMailer的规范和官方仓库。
- PHPMailer迁移到GitHub上的PHPMailer组织。
从SourceForge迁移后有什么变化?
- SourceForge和Google Code项目的官方继任者。
- 测试套件。
- 与Travis-CI的持续集成。
- Composer支持。
- 公共开发。
- 额外的语言和语言字符串。
- CRAM-MD5身份验证支持。
- 保留从原始SourceForge项目中的作者、提交和分支的完整仓库历史。======= PHPMailer ========
PHPMailer
ce50116ac8533bf5326c76b3b95fba6f03de4238