程序员人生 网站导航

使用PHPMailer发送邮件实例代码总结

栏目:php教程时间:2014-05-24 23:46:39

PHPMailer发送邮件现在php开发者比较常用的一个邮件发送组件了,利用它我们几乎不需要考虑任何问题,只要简单的把代码放网上把邮箱用户名密码与stmp改一下就可以发邮件了.

PHPMailer是别人封装好的一个发送邮件的库,用起来很方便,其支持mail、sendmail和smtp的方式可以到https://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list去下载最新版本的,下面通过gmail smtp发送邮件为例来说明smtp使用方法.

  1. function sendMail($subject$body$to$ccs = array()) { 
  2.     require_once './class.phpmailer.php'
  3.     $mail  = new PHPMailer(); 
  4.     //设定邮件编码,默认ISO-8859-1,也可以直接去源代码中修改 
  5.     $mail->CharSet = 'UTF-8'
  6.     // 使用smtp的方式发送 
  7.     $mail->IsSMTP(); 
  8.     //smtp服务器需要认证 
  9.     $mail->SMTPAuth = TRUE; 
  10.     //安全协议 gmail 是采用ssl的 
  11.     $mail->SMTPSecure = "ssl"
  12.     //smtp服务器 
  13.     $mail->Host = 'smtp.gmail.com'
  14.     //smtp服务器端口,普通是25 
  15.     $mail->Port = 465; 
  16.     //smtp 认证用户名和密码 
  17.     $mail->Username = 'yourgmailaccount@gmail.com'
  18.     $mail->Password = "yourpassword"
  19.     //发件人地址和名字,名字可以省略 
  20.     $mail->SetFrom('yourgmailaccount@gmail.com''display name'); 
  21.     // 邮件标题 
  22.     $mail->Subject = $subject
  23.     // 邮件内容,支持HTML格式 
  24.     $mail->MsgHTML($body); 
  25.     // 收件人地址 
  26.     $mail->AddAddress($to); 
  27.     // 抄送人 
  28.     foreach ($ccs as $cc) { 
  29.         $mail->AddCC($cc); 
  30.     } 
  31.     if(!$mail->Send()) { 
  32.         echo "error info:" . $mail->ErrorInfo; 
  33.     } 

上面是核心代码,下面我们综合一下实例,按如下示例编写代码即可实现php在线发送邮件.

一:前台表单,代码如下:

  1. <html> 
  2. <body> 
  3. <h3>phpmailer Unit Test</h3> 
  4. 请你输入<font color="#FF6666">收信</font>的邮箱地址: 
  5. <form name="phpmailer" action="send.php" method="post"
  6. <input type="hidden" name="submitted" value="1"/> 
  7. 邮箱地址: <input type="text" size="50" name="address" /> 
  8. <br/> 
  9. <input type="submit" value="发送"/> 
  10. </form> 
  11. </body> 
  12. </html> 

二:后台PHP程序,代码如下:

  1. <?php 
  2. require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录 
  3. $mail = new PHPMailer(); //建立邮件发送类 
  4. $address = $_POST['address'];  
  5. $mail->IsSMTP(); // 使用SMTP方式发送 
  6. $mail->Host = "mail.xxxxx.com"// 您的企业邮局域名 
  7. $mail->SMTPAuth = true; // 启用SMTP验证功能 
  8. $mail->Username = "user@xxxx.com"// 邮局用户名(请填写完整的email地址) 
  9. $mail->Password = "******"// 邮局密码 
  10. $mail->From = "user@xxxx.com"//邮件发送者email地址 
  11. $mail->FromName = "您的名称"
  12. $mail->AddAddress("$address""");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名") 
  13. //$mail->AddReplyTo("", ""); 
  14. //$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件 
  15. //$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式 
  16. $mail->Subject = "PHPMailer测试邮件"//邮件标题 
  17. $mail->Body = "Hello,这是测试邮件"//邮件内容 
  18. $mail->AltBody = "This is the body in plain text for non-HTML mail clients"//附加信息,可以省略 
  19. if(!$mail->Send()) 
  20.  echo "邮件发送失败. <p>"
  21.  echo "错误原因: " . $mail->ErrorInfo; 
  22.  exit
  23. echo "邮件发送成功"
  24. ?> 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐