有关phpmailer的详细介绍及使用方法

第一,需要下载PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/
第二,确认你的服务器系统已经支持socket ,通过phpinfo();查看是否支持sockets(socket 是属于PHP扩展部分),如果显现为“enabled”,那就是支持了。
第三,把文件解压到你的web服务器目录下,调用类就可以了.
首先包含class.phpmailer.php,然后创建对象,设置参数,调用成员函数。

例1,做成函数方便调用


代码如下:

<?php   
    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@yourdomain.com";      // 发件人邮箱   
        $mail->FromName =  "管理员";  // 发件人

$mail->CharSet = "GB2312";   // 这里指定字符集!   
        $mail->Encoding = "base64";   
        $mail->AddAddress($sendto_email,"username");  // 收件人邮箱和姓名   
        $mail->AddReplyTo("yourmail@yourdomain.com","yourdomain.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>  
    I love php。  
    </body>  
    </html>  
    ";                                                                         
        $mail->AltBody ="text/html";   
        if(!$mail->Send())   
        {   
            echo "邮件发送有误 <p>";   
            echo "邮件错误信息: " . $mail->ErrorInfo;   
            exit;   
        }   
        else {   
            echo "$user_name 邮件发送成功!<br />";   
        }   
    }   
    // 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)   
    smtp_mail("yourmail@yourdomain.com", "欢迎使用phpmailer!", "NULL", "yourdomain.com", "username");   
    ?>

注意:

1. 邮件的字符集设置, $mail->CharSet = "GB2312"; // 这里指定字符集!在这里我只指定为GB2312因为这样Outlook能正常显示邮件主题,我尝试过设为utf-8但在Outlook下显示乱码。
2. 如果是发送html格式的邮件,那么记得也指定
3. 如果你想用它来群发邮件的话,记得修改包含文件函数,如:
require("phpmailer/class.phpmailer.php");
改为
require_once("phpmailer/class.phpmailer.php");
否则的话会产生类的重定义。

个人认为要使用phpmailer,首先,需要有一个邮件服务器,PHP的 mail函数没有指定,应该是使用的PHP设置的SMTP。

而在这里需要具体指定,同时需要指定邮件服务器的管理者和密码。

PHPMailer 也是一个功能强大的邮件类

PHPMailer的主要功能特点:

支持邮件 s/mime加密的数字签名
支持邮件多个 TOs, CCs, BCCs and REPLY-TOs
可以工作在任何服务器平台,所以不用担心WIN平台无法发送邮件的问题的
支持文本/HTML格式邮件
可以嵌入image图像
对于邮件客户端不支持HTML阅读的进行支持
功能强大的发送邮件调试功能debug
自定义邮件header
冗余SMTP服务器支持
支持8bit, base64, binary, and quoted-printable 编码
文字自动换行
支持多附件发送功能
支持SMTP服务器验证功能
在Sendmail, qmail, Postfix, Gmail, Imail, Exchange 等平台测试成功
提供的下载文件中,包括内容详细的说明文档及示例说明,所以不用担心难于上手的问题!
PHPMailer 非常小巧、简单、方便、快捷
以上资料由Jiucool 翻译自phpmailer 官网,转载请注明!

PHPMailer的使用(这里以使用gmail smtp发送邮件为例,当然也支持sendmail pop 等其他方式):
首先到http://phpmailer.worxware.com/ 下载最新版本的程序包
下载完成后,找到class.phpmailer.php 、class.smtp.php两个类放到自己的目录下!
然后新建一个php文件这里命名为:phpmail_jiucool.php
phpmail_jiucool.php内容如下:
我直接将邮件发送模块写成一个函数postmail_jiucool_com(),大家使用的时候直接调用该函数即可,函数内容为:

代码如下:

function postmail_jiucool_com($to,$subject = "",$body = ""){
//Author:Jiucool WebSite: http://www.jb51.net
//$to 表示收件人地址 $subject 表示邮件标题 $body表示邮件正文
//error_reporting(E_ALL);
error_reporting(E_STRICT);
date_default_timezone_set("Asia/Shanghai");//设定时区东八区
require_once('class.phpmailer.php');
include("class.smtp.php");
$mail = new PHPMailer(); //new一个PHPMailer对象出来
$body = eregi_replace("[\]",'',$body); //对邮件内容进行必要的过滤
$mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP(); // 设定使用SMTP服务
$mail->SMTPDebug = 1; // 启用SMTP调试功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->SMTPSecure = "ssl"; // 安全协议
$mail->Host = "smtp.googlemail.com"; // SMTP 服务器
$mail->Port = 465; // SMTP服务器的端口号
$mail->Username = "SMTP服务器用户名"; // SMTP服务器用户名
$mail->Password = "SMTP服务器密码"; // SMTP服务器密码
$mail->SetFrom('发件人地址,如admin#jiucool.com #换成@', '发件人名称');
$mail->AddReplyTo("邮件回复地址,如admin#jiucool.com #换成@","邮件回复人的名称");
$mail->Subject = $subject;
$mail->AltBody = "To view the message, please use an HTML compatible email viewer! - From www.jiucool.com"; // optional, comment out and test
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, "收件人名称");
//$mail->AddAttachment("images/phpmailer.gif"); // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!恭喜,邮件发送成功!";
}
}

(0)

相关推荐

  • PHPMailer 中文使用说明小结

    A开头: $AltBody --属性 出自:PHPMailer : $AltBody 文件:class.phpmailer .php 说明:该属性的设置是在邮件正文不支持HTML的备用显示 AddAddress --方法 出自:PHPMailer ::AddAddress(),文件:class.phpmailer .php 说明:增加收件人.参数1为收件人邮箱,参数2为收件人称呼.例AddAddress("to@163.com","to name"),但参数2可选,

  • PHPMailer邮件发送的实现代码

    本机环境:LAMP(ubuntu12.10); SMTP服务器用的是stmp.163.com.刚开始对于这个还是蛋疼的,最先使用的是stmp.qq.com结果发的邮件都被腾讯当成垃圾邮件处理了发不出去, 怎么该内容都没过.然后我改成了stmp.gmail.com,然后打开谷歌邮箱的POP服务,但总无法验证成功.最后还是注册一个163,运行代码就成功了. 无痛苦,无压力~~ 代码如下: 复制代码 代码如下: <?php require("PHPMailer/class.phpmailer.p

  • phpmailer发送gmail邮件实例详解

    复制代码 代码如下: <html><head><title>PHPMailer - SMTP (Gmail) basic test</title></head><body><?php//error_reporting(E_ALL);error_reporting(E_STRICT);date_default_timezone_set('America/Toronto');require_once('../class.phpmai

  • Linux服务器下PHPMailer发送邮件失败的问题解决

    需求 更换服务器之后,我发现我的发送邮件功能失效了!原来的服务器是可以的,一定是哪里出问题了,决定来排查一下.我是用的PHPMailer,SMTP方式发送邮件的. 排查过程 这种方式首先PHP要开启sockets拓展,查了一下phpinfo页面,是开启的: 看了一下openssl也是开启(因为拿了qq邮箱来测),所以没问题: 那就再看一下allow_url_fopen,开启的,没问题: 是不是禁用了函数?没有禁用,没问题: 那配置上就没有问题了,我就想,是不是端口被占用了? 运行一下:netst

  • PHPMailer安装方法及简单实例

    打开你电脑里的PHP.INI文件,找到如下位置,添加红线部分的内容,路径就是你PHPMailer存放的位置:保存,重启apache. 然后借用readme里的一个例子,稍微改一下就可以用了,由于只做最简单的测试,很多东西我注释掉了. send.php 复制代码 代码如下: <?php require("class.phpmailer.php"); $mail = new PHPMailer(); $address = $_POST['address']; $mail->Is

  • PHP使用PHPMailer发送邮件的简单使用方法

    最近需要用到发送邮件的功能,原本是用PHP自带的mail()函数发送的.php mail()这个方法非常简单.方便.易用,但是除了网易邮箱.QQ邮箱.GMAIL邮箱等常用的邮箱可以收到之外,经测试HOTMAIL.TOM.LIVE等邮箱是收不到此类邮件的.所以就转而使用PHPMailer这个强大的邮件发送类.使用官方自带的一些例子,有些会报 Mailer Error: Could not instantiate mail function. 这个错误.参考了一些资料之后,还是自己写了一个方法.代码

  • 163的邮件用phpmailer发送(实例详解)

    复制代码 代码如下: <?phprequire_once('../class.phpmailer.php');$mail= new PHPMailer();$body= "我终于发送邮件成功了!呵呵!<br/><a>http://news.qq.com/a/20111115/000792.htm?qq=0&ADUIN=594873950&ADSESSION=1321316731&ADTAG=CLIENT.QQ.3493_.0</a>

  • 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发送HTML内容、带附件的邮件实例

    PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能. 本文将结合实例代码,讲解如何设置和实现发送HTML以及带附件的邮件功能. 首先,您可以到PHPMailer获取最新的下载包,解压到WEB目录下. 然后建立一个sendmail.php的文件,载入PHPMailer类,并设置相关属性参数,如邮件服务器地址,发件人和收件人,邮件内容等等,详情

  • 有关phpmailer的详细介绍及使用方法

    第一,需要下载PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/第二,确认你的服务器系统已经支持socket ,通过phpinfo();查看是否支持sockets(socket 是属于PHP扩展部分),如果显现为"enabled",那就是支持了.第三,把文件解压到你的web服务器目录下,调用类就可以了.首先包含class.phpmailer.php,然后创建对象,设置参数,调用成员函数. 例1,做成函数方便调用 复制代码 代

  • Vuex详细介绍和使用方法

    目录 一.什么是Vuex 二.运行机制 三.创建项目 1.使用脚手架搭建Vue项目 2.安装Vuex 3.启动项目 4.配置使用Vuex 4.1.创建store文件夹 4.2.配置全局使用store对象 四.Vuex核心概念 1.state 2.mutations 3.Getter 3.1.通过属性进行访问 3.2.通过辅助函数进行访问 4.Action 4.1.通过dispatch触发 4.2.通过辅助函数触发 5.Module 五.总结 1.核心概念 2.底层原理 一.什么是Vuex 官网解

  • linux防墙iptables详细介绍、配置方法与案例

    1.1 iptables防火墙简介 Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的**基于包过滤的防火墙工具**,它的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进行很精细的控制.特别是它可以在一台非常低的硬件配置下跑的非常好 Iptables是Linux2.4及2.6内核中集成的服务.其功能与安全性比其**ipfwadm,ipchains**强大的多,iptables主要工作在OSI七层的二.三.四层,

  • C# 递归函数详细介绍及使用方法

    什么是递归函数/方法? 任何一个方法既可以调用其他方法也可以调用自己,而当这个方法调用自己时,我们就叫它递归函数或递归方法. 通常递归有两个特点: 1. 递归方法一直会调用自己直到某些条件被满足 2. 递归方法会有一些参数,而它会把一些新的参数值传递给自己. 那什么是递归函数?函数和方法没有本质区别,但函数仅在类的内部使用.以前C#中只有方法,从.NET 3.5开始才有了匿名函数. 所以,我们最好叫递归方法,而非递归函数,本文中将统一称之为递归. 在应用程序中为什么要使用递归?何时使用递归?如何

  • MariaDB中的thread pool详细介绍和使用方法

    Thread pool是什么 MySQL是每个连接上来都要创建一个线程来执行语句.这样每一个新的连接进来即会创建一个新的线程,这种动作对MySQL本身压力比较大.Threadpool是提供一种线程代理的模型执行每个连接的语句.而MySQL内部维护一个可能接受的线程总数,减少线程太多在CPU切换等方面的压力. 使用Threadpool的好处 1.使用线程代理的模型在连接数已知可控的情况下,提前创建好过线程并利用操作系统的threadpool技术维护,能减少很多开销. 2.尽可能的使用操作系统的线程

  • ISO7 二维码详细介绍及使用方法

    使用系统自带生成/扫描二维码 iOS7开始苹果集成了二维码的生成的扫描 ### 生成二维码的步骤 导入CoreImage框架 #import <CoreImage/CoreImage.h> 通过滤镜CIFilte生成二维码 ### 二维码的内容(传统的条形码只能放数字) 纯文本 名片 URL 生成二维码 // 1.创建过滤器 CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 2.恢复默

  • asp.net Repeater控件的说明及详细介绍及使用方法

    Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repeater 控件提供布局.当该页运行时,Repeater 控件依次通过数据源中的记录为每个记录呈现一个项. 他很简单,用起来也不够强大,但是应了那句老话,杀鸡焉用牛刀,不用牛刀那用什么呢?难道我们去把鸡咬死不成?而我们在日常应用中也常常面临这样的选择,假设我们显示教复杂的数据,可以用gridview,一般复杂的用DataList,那么简单的数据呈现呢?我们就用Repeater了,因为他简单,小巧,最主要是灵活. 我们

  • IOS Bundle详细介绍及使用方法

    什么是Bundle? A bundle is a directory with a standardized hierarchical structure that holds executable code and the resources used by that code. Bundle就是一个标准化分层化的路径,这个目录保存了可执行代码以及这些代码执行的时候需要的资源文件. Bundle存储哪些文件? 文件 作用 Info.plist 一个iOS App运行所必需的文件,这个结构化的文

  • c++中的消息框messagebox()详细介绍及使用方法

    1.MessageBox("这是一个最简单的消息框!"); 2.MessageBox("这是一个有标题的消息框!","标题"); 3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL ); 4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION ); 5.MessageBox(&

  • MySql索引详细介绍及正确使用方法

    MySql索引详细介绍及正确使用方法 1.前言: 索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点. 索引是存储引擎用于快速查找记录的一种数据结构,通过合理的使用数据库索引可以大大提高系统的访问性能,接下来主要介绍在MySql数据库中索引类型,以及如何创建出更加合理且高效的索引技巧. 注:这里主要针对的是InnoDB存储引擎的B+Tree索引数据结构 2.索引的优点 1.大大减轻了服务器需要扫描的数据量,从而提高了数据的检索速度 2.帮助服务器避免排序和临时表 3.可以将

随机推荐