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 ?>
这样呢我们就完成了一个简单的邮件发送,大家赶快试一下吧!