2.11. 发送邮件

未匹配的标注

使用 PHPMailer

以下基于 PHPMailer 6.0.6 测试。

PHP 提供了一个看似相当简单的 mail() 函数。不幸的是,像 PHP 中的许多东西一样,它的简单性是欺骗性的,信以为真可能会导致严重的安全问题。

电子邮件本质上是一组协议,其历史甚至比 PHP 更痛苦。发送邮件有太多的陷阱,光是与 PHP 的 mail() 函数在同一个房间就会让你不寒而栗。

PHPMailer 是一个流行且成熟的开源库,它为安全地发送邮件提供了一个简单的接口。它会帮你处理最棘手的部分,这样你就可以专注于更重要的事情。

范例

<?php
// 引入 PHPMailer 类库
require_once('phpmailer-5.2.7/PHPMailerAutoload.php');

// 传递 “true” 将启用异常。这是个可选项,默认值为 false。
$mailer = new PHPMailer(true);

// 从 比尔博·巴金斯 给 格雷·甘道夫 发封邮件

// 设置接收者、发送者和邮件正文。主体不必是 HTML 格式;有关详细信息,请查看 PHPMailer 文档。
$mailer->Sender = 'bbaggins@example.com';
$mailer->AddReplyTo('bbaggins@example.com', 'Bilbo Baggins');
$mailer->SetFrom('bbaggins@example.com', 'Bilbo Baggins');
$mailer->AddAddress('gandalf@example.com');
$mailer->Subject = 'The finest weed in the South Farthing';
$mailer->MsgHTML('<p>You really must try it, Gandalf!</p><p>-Bilbo</p>');

// 设置邮箱的连接。
$mailer->IsSMTP();
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = 'ssl';
$mailer->Port = 465;
$mailer->Host = 'my smtp host';
$mailer->Username = 'my smtp username';
$mailer->Password = 'my smtp password';

// 这就完成了!
$mailer->Send();

延伸阅读

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/phpbestpractice...

译文地址:https://learnku.com/docs/phpbestpractice...

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~