PHPmailer发送邮件

本文详细介绍了PHPMailer的安装与使用方法,包括其主要功能特点、发送邮件的基本步骤以及如何解决中文乱码问题。通过示例代码演示了如何配置SMTP服务器、添加收件人、设置邮件主题与内容、发送HTML邮件并处理中文显示。
摘要由CSDN通过智能技术生成

PHPmailer可以到官网下载:http://phpmailer.worxware.com/

PHPMailer的主要功能特点:

  1. 支持邮件 s/mime加密的数字签名
  2. 支持邮件多个 TOs, CCs, BCCs and REPLY-TOs
  3. 可以工作在任何服务器平台,所以不用担心WIN平台无法发送邮件的问题的
  4. 支持文本/HTML格式邮件
  5. 可以嵌入图片
  6. 对于邮件客户端不支持HTML阅读的进行支持
  7. 功能强大的发送邮件调试功能debug
  8. 自定义邮件header
  9. 冗余SMTP服务器支持
  10. 支持多种邮件编码包括:8bit,base64,binary和quoted-printable
  11. 文字自动换行
  12. 支持多附件发送功能
  13. 支持SMTP服务器验证功能
  14. 在Sendmail, qmail, Postfix, Gmail, Imail, Exchange 等平台测试成功
  15. PHPmailer包有示例,包括内容详细的说明文档及示例说明,所以不用担心难于上手的问题!
  16. PHPMailer 非常小巧、简单、方便、快捷
使用方法:

<?php
/**
* Simple example script using PHPMailer with exceptions enabled
* @package phpmailer
* @version $Id$
*/

require '../class.phpmailer.php';

try {
	$mail = new PHPMailer(true); //New instance, with exceptions enabled

	$body             = file_get_contents('contents.html');
	$body             = preg_replace('/\\\\/','', $body); //Strip backslashes

	$mail->CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码 
	$mail->IsSMTP();                           // tell the class to use SMTP
	$mail->SMTPAuth   = true;                  // enable SMTP authentication
	$mail->Port       = 25;                    // set the SMTP server port
	$mail->Host       = "smtp.qq.com"; // SMTP server确保该邮箱开通了SMTP服务
	$mail->Username   = "*****@qq.com";     // SMTP server username
	$mail->Password   = "******";            // SMTP 密码

	//$mail->IsSendmail();  // 如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示 

	$mail->AddReplyTo("*****@qq.com","First Last");

	$mail->From       = "******@qq.com";
	$mail->FromName   = "发件人";

	$to = "****@126.com";

	$mail->AddAddress($to);

	$mail->Subject  = "邮件测试!";

	$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
	$mail->WordWrap   = 80; // set word wrap

	$mail->MsgHTML($body);

	$mail->IsHTML(true); // send as HTML

	$mail->Send();
	echo 'Message has been sent.';
} catch (phpmailerException $e) {
	echo $e->errorMessage();
}
?>


如果邮件的中文会出现乱码主要是编码没有设置好,设置方法如下:

$mail->IsHTML(true); // 是否HTML格式邮件
$mail->CharSet = "utf-8"; // 这里指定字符集!

$mail->Encoding = "base64"; 


发送html邮件时,最好加上协议头

<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>含中文的内容</body>
</html> 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值