利用PHPMailer来完成PHP的邮件发送

四月 03, 2019 | views
Comments 0

PHPMailer发送邮件配置非常的简单,只要下载一个PHPMailer插件,然后我们再注册一个163邮箱就可以实现php发邮件了,具体例子如下.

1.首先是下载PHPMailer

2.解压

从中取出class.phpmailer.php 和 class.smtp.php 放到你的项目的文件夹,因为我们等下会引用到它们.

3.创建发送邮件的函数,其中你需要配置smtp服务器

  1. function postmail($to,$subject = '',$body = ''){ 
  2.     //Author:smsyun WebSite: http://www.111cn.net 
  3.     //$to 表示收件人地址 $subject 表示邮件标题 $body表示邮件正文 
  4.     //error_reporting(E_ALL); 
  5.     error_reporting(E_STRICT); 
  6.     date_default_timezone_set('Asia/Shanghai');//设定时区东八区 
  7.     require_once('class.phpmailer.php'); 
  8.     include('class.smtp.php'); 
  9.     $mail             = new PHPMailer(); //new一个PHPMailer对象出来 
  10.     $body            = eregi_replace("[\]",'',$body); //对邮件内容进行必要的过滤 
  11.     $mail->CharSet ="utf-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码 
  12.     $mail->IsSMTP(); // 设定使用SMTP服务 
  13.     $mail->SMTPDebug  = 1;                     // 启用SMTP调试功能 
  14.     // 1 = errors and messages 
  15.     // 2 = messages only 
  16.     $mail->SMTPAuth   = true;                  // 启用 SMTP 验证功能 
  17.     $mail->SMTPSecure = "ssl";                 // 安全协议,可以注释掉 
  18.     $mail->Host       = 'stmp.163.com';      // SMTP 服务器 
  19.     $mail->Port       = 25;                   // SMTP服务器的端口号 
  20.     $mail->Username   = 'smsyun';  // SMTP服务器用户名,PS:我乱打的 
  21.     $mail->Password   = 'password';            // SMTP服务器密码 
  22.     $mail->SetFrom('[email protected]''who'); 
  23.     $mail->AddReplyTo('[email protected]','who'); 
  24.     $mail->Subject    = $subject
  25.     $mail->AltBody    = 'To view the message, please use an HTML compatible email viewer!'// optional, comment out and test 
  26.     $mail->MsgHTML($body); 
  27.     $address = $to
  28.     $mail->AddAddress($address''); 
  29.     //$mail->AddAttachment("images/phpmailer.gif");      // attachment 
  30.     //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment //phpfensi.com 
  31.     if(!$mail->Send()) { 
  32.         echo 'Mailer Error: ' . $mail->ErrorInfo; 
  33.     } else { 
  34. //        echo "Message sent!恭喜,邮件发送成功!"; 
  35.     } 
  36. }  

4.使用函数

postmail('[email protected]','测试标题','测试内容');

如果发不出邮件我们可以检测一下是不是邮箱没用开启stmp与pop3功能了,这个可以到163邮箱中去开启了,还有一个如果是新注册的163邮箱是不能发送哦,注册久了才可以使用.



zend