邮件发送第三方插件使用
邮件发送首先下载邮箱的插架thinkphp的插架下载地址以及安装教程https://www.isblog.cn/isC/4.html;
注意事项
1.我们的qq邮箱要开启smtp的权限,获取邮箱授权码。
2.我们下载后,将内容放入Thinkphp/ThinkPHP/Library/Vendor/文件夹下
3.配置文件,我们要在在Application—Common–Common 文件夹下创建function.php文件然后创建公共函数。
4.我们接受数据也就是控制器中,我们现接收一下数据然后将内容传入参数,参数就为传过去的值。在将值传到function.PHP文件中进行发送
5.function.PHP内容的注意事项
a.注意标点符号,和分号注意加上,还有注释的问题,一定要注意
b.我们本地和服务器中有两处要进行更改1.开启ssl本地不用服务器中要开启2.端口的改变我们本地的端口为25;服务器中的端口为465;端口25和465的区别https://blog.51cto.com/andyboge/1969109;
function.PHP中的文件内容为
<?php
function sendMail($mailbox, $headline, $details) {
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new PHPMailer(); //实例化
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->SMTPSecure = 'ssl';//开启//sssl 认证,这是上传到liunx服务器上需要开启的
$mail->Host = "smtp.qq.com"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "3031453390@qq.com"; // 邮局用户名(请填写完整的email地址)
$mail->Password = "dwryazidbuzidcde"; // 邮箱授权码//切记不是密码
$mail->Port = 465; //端口号 /上传到服务器需要上阿里云开放一个端口,到这里配置一下
$mail->CharSet = 'UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码
$mail->From = "3031453390@qq.com"; //邮件发送者email地址
$mail->FromName = "尊敬的用户"; //发送人的名字
$mail->AddAddress($mailbox); //收件人地址,
$mail->Subject = $headline; //邮件标题
$mail->Body = $details; //邮件内容
if (!$mail->Send()) {
return FALSE;
} else {
return TRUE;
}
}
?>
控制器中的内容就为
<?php
namespace Home\Controller;
use Think\Controller;
class MailboxController extends Controller {
public function index() {
$this->display('index');
}
public function send() {
$mail = I('mail');
$title = I('title');
$content = I('content');
if (SendMail($mail, $title, $content)) {
$this->success('发送成功!');
} else {
$this->error('发送失败');
}
}
}
静态页面为
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>邮件发送</title>
</head>
<body>
<form action="{:U('Home/Mailbox/send')}" method="post" enctype="multipart/form-data">
收件人邮箱:<input type="text" name="mail" value=""/>
标题:<input type="text" name="title" value=""/>
内容<input type="text" name="content" value=""/>
<button type="submit" >发送</button>
</form>
</body>
</html>