php用smtp发送邮件

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     ?>  

这样呢我们就完成了一个简单的邮件发送,大家赶快试一下吧!


原文地址:https://www.cnblogs.com/zyworld/p/5736975.html