以下是一个使用thinkphp6框架发送邮件的插件实例:
- 安装邮件发送插件
在thinkphp6项目的根目录下使用composer安装邮件发送插件phpmailer/phpmailer:
composer require phpmailer/phpmailer
- 创建邮件发送类
在app目录下创建一个Mail类,用于封装发送邮件的方法。可以在类的构造函数中设置邮件的一些基本配置,例如SMTP服务器地址、端口号、发送者邮箱等。然后定义一个发送邮件的方法send,该方法接收参数包括收件人邮箱地址、邮件标题和邮件内容。
<?php
namespace app;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
class Mail
{
protected $mailer;
public function __construct()
{
$this->mailer = new PHPMailer();
$this->mailer->isSMTP();
$this->mailer->SMTPAuth = true;
$this->mailer->SMTPSecure = 'tls';
$this->mailer->Host = 'smtp.example.com';
$this->mailer->Port = 587;
$this->mailer->Username = 'your-email@example.com';
$this->mailer->Password = 'your-password';
$this->mailer->setFrom('your-email@example.com', 'Your Name');
}
public function send($to, $subject, $body)
{
$this->mailer->addAddress($to);
$this->mailer->Subject = $subject;
$this->mailer->Body = $body;
return $this->mailer->send();
}
}
- 在控制器中调用邮件发送方法
在需要发送邮件的控制器中,使用依赖注入的方式引入Mail类,并调用send方法发送邮件。
<?php
namespace app\controller;
use app\Mail;
use think\facade\Request;
class UserController
{
public function sendEmail(Mail $mail)
{
$to = Request::post('to');
$subject = Request::post('subject');
$body = Request::post('body');
if ($mail->send($to, $subject, $body)) {
return '邮件发送成功';
} else {
return '邮件发送失败';
}
}
}
以上是一个简单的使用thinkphp6框架发送邮件的插件实例。在实际应用中,你可以根据自己的需求对邮件发送类进行扩展和优化。