《php+mysql模拟队列发送邮件》课程,主要解决PHP开发过程中,常见的发送多封邮件时页面卡死的问题,如果需要给网站所有用户发送一封系统通知邮件,假设网站有10000个注册用户,发送每封邮件需要0.1秒,直接发送? NO,当然要用队列,为什么?学完你就知道啦!
课程播放地址:http://www.php.cn/course/260.html
该老师讲课风格:
教师讲课深入浅出,条理清楚,层层剖析,环环相扣,论证严密,结构严谨,用思维的逻辑力量吸引学生的注意力,用理智控制课堂教学进程。学生通过听教师的讲授,不仅学到知识,也受到思维的训练,还受到教师严谨的治学态度的熏陶和感染
本视频中较为难点是phpmailer发送邮件了:
PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及图片附件,前提要设置好邮件服务器就能实现邮件发送功能。
HTML
首先我们先放置一个收件箱的输入框和一个发送邮件按钮:
收件人:<input type="text" class="input_text" id="email" name="email" value="@"/> <input type="button" class="btn" id="send" value="发送"/>
jQuery
$(function() { $("#send").click(function() { var email = $("#email").val(); $("#send").addClass("loading").val("loading...").attr("disabled", "disabled"); $.post("ajax.php", { "email": email }, function(data) { if (data == 1) { $("#result").html("发送成功,请注意查收您的邮件!"); } else { $("#result").html(data); } $("#send").removeAttr("disabled").removeClass("loading").val("发送"); }); }); });
Ajax.php
require_once('class.phpmailer.php'); $address = $_POST['email']; //收件人email $mail = new PHPMailer(); //实例化 $mail->IsSMTP(); // 启用SMTP $mail->Host = "smtp.163.com"; //SMTP服务器 以163邮箱为例子 $mail->Port = 25; //邮件发送端口 $mail->SMTPAuth = true; //启用SMTP认证 $mail->CharSet = "UTF-8"; //字符集 $mail->Encoding = "base64"; //编码方式 $email_system = "qiumusua@163.com"; $mail->Username = $email_system; //你的邮箱 $mail->Password = ""; //你的密码 $mail->Subject = "你好"; //邮件标题 $mail->From = $email_system; //发件人地址(也就是你的邮箱) $mail->FromName = "素材火"; //发件人姓名 $mail->AddAddress($address, "亲"); //添加收件人(地址,昵称) $mail->AddAttachment('send.xls', '我的附件.xls'); // 添加附件,并指定名称 $mail->IsHTML(true); //支持html格式内容 $mail->AddEmbeddedImage("logo.jpg", "my-attach", "logo.jpg"); //设置邮件中的图片 $mail->Body = '你好, <b>朋友</b>! <br/>这是一封来自<a href="http://www.erdangjiade.com" target="_blank">erdangjiade.com</a>的邮件!<br/> <img alt="erdangjiade" src="cid:my-attach">'; //邮件主体内容 //发送 if (!$mail->Send()) { echo "发送失败: " . $mail->ErrorInfo; } else { echo "1"; }
以上是php+mysql模拟队列发送邮件的资料推荐的详细内容。更多信息请关注PHP中文网其他相关文章!