php用smtp發送郵件
1.其實用smtp協議發送郵件很簡單,用框架或者原生都可以,我們需要用到class.phpmailer.php 和class.smtp.php,大家可以去網上下載。
這是一個html頁面
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 6 <title>Document</title> 7 </head> 8 <body> 9 <form action="mail_send.php" method="post"> 10 <p>收件人:<input type="text" name="address" /></p> 11 <p>標 題:<input type="text" name="title" /></p> 12 <p>內 容:<textarea name="content" cols="50" rows="5"></textarea></p> 13 <p>發件人:<input type="text" name="user" /></p> 14 <p><input type="submit" value="發送" /></p> 15 </form> 16 </body> 17 </html>
2、這里我們寫了一個mail_send.php然后引入一個我們自己封裝的類
1 <?php 2 // 接收值 3 isset($_POST['address'])?$address=$_POST['address']:$address=''; 4 isset($_POST['titles'])?$titles=$_POST['titles']:$titles=''; 5 isset($_POST['content'])?$content=$_POST['content']:$content=''; 6 isset($_POST['user'])?$user=$_POST['user']:$user=''; 7 8 //引入類 9 require 'Mail.class.php'; 10 if( Mail::send($titles,$contents,$user,$address)){ 11 echo "發送成功"; 12 }else{ 13 echo "發送失敗".'<br>'; 14 echo Mail::$error; 15 } 16 ?>
3、這里是我們封裝好了一個類(Mail.class.php)上面引入的類
1 <?php 2 header("content-type:text/html;charset=utf-8"); 3 //引入原來的類文件 4 require 'class.phpmailer.php'; 5 class Mail { 6 static public $error = ''; 7 static public function send($title,$content,$user,$address){ 8 $mail= new PHPMailer(); 9 /*服務器相關信息*/ 10 $mail->IsSMTP(); //設置使用SMTP服務器發送 11 $mail->SMTPAuth = true; //開啟SMTP認證 12 $mail->Host = 'smtp.163.com'; //設置 SMTP 服務器,自己注冊郵箱服務器地址 QQ則是ssl://smtp.qq.com 13 $mail->Username = 'zzy9i7'; //發信人的郵箱名稱,本人網易郵箱 zzy9i7@163.com 這里就寫 14 $mail->Password = '******'; //發信人的郵箱密碼 15 /*內容信息*/ 16 $mail->IsHTML(true); //指定郵件格式為:html *不加true默認為以text的方式進行解析 17 $mail->CharSet ="UTF-8"; //編碼 18 $mail->From = 'zzy9i7@163.com'; //發件人完整的郵箱名稱 19 $mail->FromName = $user; //發信人署名 20 $mail->Subject = $title; //信的標題 21 $mail->MsgHTML($content); //發信主體內容 22 //$mail->AddAttachment("15.jpg"); //附件 23 /*發送郵件*/ 24 $mail->AddAddress($address); //收件人地址 25 //使用send函數進行發送 26 if($mail->Send()) { 27 return true; 28 } else { 29 self::$error=$mail->ErrorInfo; 30 return false; 31 } 32 } 33 } 34 ?>
這樣呢我們就完成了一個簡單的郵件發送,大家趕快試一下吧!
