PHPMailer邮件类利用smtp.163.com发送邮件方法

第一步:需要下载PHPMailer文件包phpmailer-1.73.tar.gz 来自开源社区: http://phpmailer.sourceforge.net/
第二步:确认你的服务器系统已经支持socket 如下图,通过phpinfo();查看是否支持sockets
  如果没有这一项就请注意: socket 是属于PHP扩展部分,编译时必须给定一个用于./configure --enable-sockets 的配置选项。

第三步:把文件解压到你的web服务器目录下,调用类就可以了,说明:首先包含 class.phpmailer.php,然后创建对象,设置参数,调用成员函数。具体请见下面的示例代码:


复制代码 代码如下:

<?php
/*******************************
* 作者:李英江
* 日期:2006-12-7
*******************************/
require("phpmailer/class.phpmailer.php");

function smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name) {
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = "200.162.244.66"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "yourmail"; // SMTP username 注意:普通邮件认证不需要加 @域名
$mail->Password = "mailPassword"; // SMTP password

$mail->From = "yourmail@cgsir.com"; // 发件人邮箱
$mail->FromName = "cgsir.com管理员"; // 发件人

$mail->CharSet = "GB2312"; // 这里指定字符集!
$mail->Encoding = "base64";

$mail->AddAddress($sendto_email,"username"); // 收件人邮箱和姓名
$mail->AddReplyTo("yourmail@cgsir.com","cgsir.com");

//$mail->WordWrap = 50; // set word wrap
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
$mail->IsHTML(true); // send as HTML
// 邮件主题
$mail->Subject = $subject;
// 邮件内容
$mail->Body = '
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=GB2312"></head>
<body>
欢迎来到<a href="http://www.cgsir.com">http://www.cgsir.com</a> <br /><br />
感谢您注册为本站会员!<br /><br />
</body>
</html>
';

$mail->AltBody ="text/html";
if(!$mail->Send())
{
echo "邮件发送有误 <p>";
echo "邮件错误信息: " . $mail->ErrorInfo;
exit;
}
else {
echo "$user_name 邮件发送成功!<br />";
}
}

// 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)
smtp_mail('yourmail@cgsir.com', '欢迎来到cgsir.com!', 'NULL', 'cgsir.com', 'username');

?>

要注意的内容:
  1. 邮件的字符集设置, $mail->CharSet = "GB2312"; // 这里指定字符集!在这里我只指定为GB2312因为这样Outlook能正常显示邮件主题,我尝试过设为utf-8,但在Outlook下显示乱码。

  2. 如果是发送html格式的邮件,那么记得也指定为<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

  3. 如果你想用它来群发邮件的话,记得修改包含文件函数,如:
  require("phpmailer/class.phpmailer.php");
  改为
  require_once("phpmailer/class.phpmailer.php");
  否则的话会产生类的重定义。

时间: 2008-09-09

php 发送带附件邮件示例

emailclass.php 复制代码 代码如下: <? class CMailFile { var $subject; var $addr_to; var $text_body; var $text_encoded; var $mime_headers; var $mime_boundary = "--==================_846811060==_"; var $smtp_headers; function CMailFile($subject,$to,$fro

PHPMailer使用教程(PHPMailer发送邮件实例分析)

php虽然提供了mail()函数,但并不好用,而PHPMailer是一个不错的邮件发送工具,使用起来也是非常简单! 使用PHPMailer发送邮件: 复制代码 代码如下: <?php header("content-type:text/html;charset=utf-8"); ini_set("magic_quotes_runtime",0); require 'class.phpmailer.php'; try { $mail = new PHPMaile

phpmailer在服务器上不能正常发送邮件的解决办法

phpmailer本身是一个很不错的开源邮件类,也非常的易用简单,就是偶尔会出现程序上传到服务器上不能发送邮件的情况,在之前也有同学问过我这个问题,当时的时候总是不以为然,今天终于让我碰上了,用phpmailer 在本地测试正常,上传到服务器上就不行了,当然了是用的SMTP方式,最终确定是fsockopen 函数惹的祸,因为安全原因fsockopen 和pfsockopen 经常被服务器端关闭.解决方法如下: 而代之的应该是 stream_socket_client()函数,不过他的参数有一点不

php邮件发送,php发送邮件的类

smtp.class.php 这个是类把他做保存到一个文件中. 复制代码 代码如下: <?php class smtp { /* Public Variables */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; /* Private Variables */ var $sock; /* Con

php邮件发送的两种方式

这篇文章研究的主要内容就是使用PHP来发送电子邮件,总结为以下两种方法: 一.使用PHP内置的mail()函数 <?php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文 mail($to,$subject,$message); 结果就直接报错,如下: Warning: mail() [function.m

使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)

复制代码 代码如下: /*PHPMailer是一个用于发送电子邮件的PHP函数包.它提供的功能包括: *.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址 *.支持多种邮件编码包括:8bit,base64,binary和quoted-printable *.支持SMTP验证 *.支持冗余SMTP服务器 *.支持带附件的邮件和Html格式的邮件 *.自定义邮件头 *.支持在邮件中嵌入图片 *.调试灵活 *.经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imai

ThinkPHP5邮件发送服务封装(可发附件)

本文实例为大家分享了ThinkPHP5封装邮件发送服务的具体代码,供大家参考,具体内容如下 1.Composer安装phpmailer composer require phpmailer/phpmailer 2.ThinkPHP中封装邮件服务类 我把它封装在扩展目录 extend/Mail.php 文件里,内容如下: <?php /** * 邮件服务类 */ class Mail extends \PHPMailer { function __construct() { date_defaul

phpmailer简单发送邮件的方法(附phpmailer源码下载)

本文实例讲述了phpmailer简单发送邮件的方法.分享给大家供大家参考,具体如下: 首先,点击此处本站下载相应的php文件. 解压后有2个php文件(2个类)  1个html文件(API) 将2个php文件放到php项目中 简述:我这里是用一个163的邮箱发消息给126的邮箱 关键代码如下: <?php require 'class.phpmailer.php'; $mail = new PHPMailer(true); //建立邮件发送类 $mail->CharSet = "UT

php中mail函数发送邮件失败的解决方法

本文实例讲述了php中mail函数发送邮件失败的解决方法.分享给大家供大家参考.具体分析如下: php中mail函数是一个自带的发邮件的函数,但是如果你真的要使用mail函数来发邮件那必须是要给你系统安装sendmail组件才可以,下面我就碰到mail发送不了邮件的问题,下面一起来看看解决办法吧. 之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了,但是发现sendmail明明已经安装,如果没有安装sendmail可以执行,代码如下: 复制代码 代码如下: yum install

功能齐全的PHP发送邮件类代码附详细说明

<?php  class Email {  //---设置全局变量  var $mailTo = ""; // 收件人  var $mailCC = ""; // 抄送  var $mailBCC = ""; // 秘密抄送  var $mailFrom = ""; // 发件人  var $mailSubject = ""; // 主题  var $mailText = ""; 

功能不错的asp模板类代码附下载第1/4页

此类支持循环替换,支持嵌套循环替换,支持多模板.  类的代码就不贴不来啰嗦了,在后面有下载,只贴出demo的代码. 一.模板只有一个循环块  模板文件主要代码  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>{myname}模板-{webName}</title>  </head>

一个PHP缓存类代码(附详细说明)

复制代码 代码如下: <?php define('CACHE_ROOT', dirname(__FILE__).'/cache'); //缓存存放目录 define('CACHE_TIME', 1800);//缓存时间 单位秒 define('CACHE_FIX','.html'); $CacheName=md5($_SERVER['REQUEST_URI']).CACHE_FIX; //缓存文件名 $CacheDir=CACHE_ROOT.'/'.substr($CacheName,0,1);

仿Aspnetpager的一个PHP分页类代码 附源码下载

基本逻辑思路和.net的一样,就是将通过实体类来进行配置换成了通过数组进行配置,逻辑比较简单,根据条件判断拼接分页html. 有以下几个简单的功能: 1:支持相关按钮的显示与否配置 2:支持每页数目,文本名称,html标签类名称的自由配置 3:支持url重写过的页面(需自己在配置数组中添加重写规则) 简单吧,还是直接上代码: 核心代码:pager.class.php 复制代码 代码如下: <?php class pager{ //分页的参数配置 private $config=array( //

jquery 多行滚动代码(附详细解释)

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

推荐个功能齐全的发送PHP邮件类

PHP--下面这个类的功能则很强大,不但能发html格式的邮件,还可以发附件 使用方法: 复制代码 代码如下: <?    Include "email.class" $mail->setTo("a@a.com"); //收件人    $mail-> setCC("b@b.com,c@c.com"); //抄送    $mail-> setCC("d@b.com,e@c.com"); //秘密抄送   

精美漂亮的php分页类代码

这是一款简单,方便,功能齐全的分页类,可以根据自己的需要更改CSS样式文件以实现分页颜色的控制,利用php分页类,可以省去自己很多时间,只需要在分页的地方嵌入即可,下面看下使用方法: 1,在head里包含pager.css 复制代码 代码如下: <link href="pager.css" type="text/css" rel="stylesheet" /> 2,在分页处进行类的实例化: 复制代码 代码如下: <?php   

VB实现的倒计时类代码详解

本文所述为用VB制作倒计时程序用到的一个Module类代码,是基于控制台的倒计时程序,可供VB初学者或者VB爱好者参考学习,当然读者也可以将其拷贝代码到VB工程里面直接使用,不过需要自己创建相关的代码,对于初学者来说,也是很容易看懂的一段代码. 具体功能代码如下: Module Module1 Sub Main() Dim a As Date Dim h, m, s As Integer Dim n, i As Long Dim x, z As Long Dim y As Long Consol

一个简单至极的PHP缓存类代码

网上关于 PHP 缓存类的资料很多,不过这个类应该是我见过功能满足需求,但又无比简洁的一个.废话不多说,直接看代码吧! 使用说明: 1.实例化 $cache = new Cache(); 2.设置缓存时间和缓存目录 $cache = new Cache(60, '/any_other_path/'); 第一个参数是缓存秒数,第二个参数是缓存路径,根据需要配置. 默认情况下,缓存时间是 3600 秒,缓存目录是 cache/ 3.读取缓存 $value = $cache->get('data_ke

php 图片上传类代码

先来个简单的: 复制代码 代码如下: <? //http://www.jb51.net class upLoad{ public $length; //限定文件大小 public $file; //判断此类是用于图片上传还是文件上传 public $fileName; //文件名 public $fileTemp; //上传临时文件 public $fileSize; //上传文件大小 public $error; //上传文件是否有错,php4没有 public $fileType; //上传