《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中文網其他相關文章!