此文件夹包含使用PHPMailer的示例集合。
在编写电子邮件发送代码时,您会发现自己担心如果所有这些测试电子邮件都发送到您的邮件列表会发生什么。解决方案是使用假邮件服务器,该服务器的行为与真实邮件服务器一样,但实际上不会发送任何内容。一些提供 Web 界面、反馈、日志记录、返回特定错误代码的能力,所有这些都可用于测试错误处理、身份验证等。以下是您可能想尝试的一些邮件测试工具:
在运行这些示例之前,您需要使用“.php”扩展名重命名它们。它们以“.phps”文件的形式提供,通常由 PHP 以语法突出显示而不是运行它们。如果您碰巧在实时网站上部署这些代码示例,这可以防止运行潜在的垃圾邮件网关代码而产生的潜在安全问题 -请不要这样做!同样,不要将您的密码留在这些文件中,因为它们将对全世界可见!
此脚本是一个简单的代码生成器 - 填写表单并点击提交,它将在您输入时向您发送电子邮件,还将使用您的设置生成 PHP 代码,您可以复制并粘贴这些代码以在您自己的应用程序中使用。如果您需要快速开始,这可能是最好的起点。
此脚本是一个基本示例,它从外部 HTML 文件创建电子邮件消息,创建纯文本正文,设置各种地址,添加附件并发送消息。它使用 PHP 的内置 mail() 函数,该函数最易于使用,但依赖于本地邮件服务器的存在,而这在 Windows 上通常不可用。如果您遇到这种情况,请安装本地邮件服务器,或使用远程邮件服务器并使用 SMTP 发送。
与邮件示例相同,但展示了如何使用 PHPMailer 的可选异常进行错误处理。
使用带有身份验证的 SMTP 发送的简单示例。
这是一个使用 SMTP 发送且无需身份验证的简单示例。
使用 sendmail 的一个简单示例。Sendmail 是一个程序(通常在 Linux/BSD、OS X 和其他类似 UNIX 的系统中发现),可用于将消息提交到本地邮件服务器,而无需进行冗长的 SMTP 对话。它可能是最快的发送机制,但缺少一些错误报告功能。大多数流行的邮件服务器都有 sendmail 模拟器,包括 postfix、qmail、exim 等。
通过 Google 的 Gmail 服务提交电子邮件是 PHPMailer 的常用用法。它与普通的 SMTP 发送非常相似,只是有一些特定的设置,即使用 TLS 加密、启用身份验证,并连接到 smtp.gmail.com 主机上的 SMTP 提交端口 587。此示例完成了所有这些操作。
在有效的 SMTP 身份验证机制出现之前,ISP 通常使用 POP-before-SMTP 身份验证。顾名思义,您使用 POP3 协议(一种较旧的协议,现已被更高级的 IMAP 取代)进行身份验证,然后 SMTP 服务器将允许从您的 IP 地址进行短时间的发送访问,通常为 5-15 分钟。PHPMailer 包含一个 POP3 协议客户端,因此它可以执行此序列 - 它就像一个正常的 SMTP 对话(无需身份验证),但首先通过 POP 进行连接。
这是一个向不同地址列表发送类似电子邮件的简单示例。它使用 SMTP 设置 PHPMailer 实例,然后连接到 MySQL 数据库以检索收件人列表。代码循环遍历此列表,使用每个人的信息向他们发送电子邮件,并在数据库中将其标记为已发送。它使用 SMTP keepalive,从而节省了每条消息之间的重新连接和重新身份验证。
这是一个示例,展示如何使用 SMTP 类本身(不带 PHPMailer)来检查 SMTP 连接。
这些示例中的大多数都使用了“example.com”域。此域由 IANA 保留用于说明目的,如RFC 2606中所述。请勿在示例中使用“mydomain.com”或“somedomain.com”等虚构域,因为某个地方的某个人可能拥有它们!