ThinkPHP 利用 PHPMailer 实现邮件发送

本文所使用的是ThinkPHP 2.1版和 PHPMailer 5.1版。(后者建议您直接从本博下载,因为我们不能保证下面的代码在所有版本的PHPMailer中都能正常运行)

下面是具体步骤:

第一步、添加PHPMailer类库

点击此处下载

将下载后的文件解压,将PHPMail目录移动至ThinkPHP目录中的Vendor内。(请确保class.phpmailer.php文件就在ThinkPHPVendorPHPMailerclass.phpmailer.php)

第二步、添加发送邮件函数

在项目目录中的Common文件夹中的common.php文件(如果没有请创建)添加如下代码:

 代码如下 复制代码

<?php
/**********
 * 发送邮件 *
 **********/
function SendMail($address,$title,$message)
{
    vendor('PHPMailer.class#PHPMailer');

    $mail=new PHPMailer();
    // 设置PHPMailer使用SMTP服务器发送Email
    $mail->IsSMTP();

    // 设置邮件的字符编码,若不指定,则为'UTF-8'
    $mail->CharSet='UTF-8';

    // 添加收件人地址,可以多次使用来添加多个收件人
    $mail->AddAddress($address);

    // 设置邮件正文
    $mail->Body=$message;

    // 设置邮件头的From字段。
    $mail->From=C('MAIL_ADDRESS');

    // 设置发件人名字
    $mail->FromName='LilyRecruit';

    // 设置邮件标题
    $mail->Subject=$title;

    // 设置SMTP服务器。
    $mail->Host=C('MAIL_SMTP');

    // 设置为“需要验证”
    $mail->SMTPAuth=true;

    // 设置用户名和密码。
    $mail->Username=C('MAIL_LOGINNAME');
    $mail->Password=C('MAIL_PASSWORD');

    // 发送邮件。
    return($mail->Send());
}

?>

第三步、配置邮箱信息

编辑Conf目录下的config.php,在return array添加如下内容

 代码如下 复制代码

    'MAIL_ADDRESS'=>'xxx@126.com', // 邮箱地址
    'MAIL_SMTP'=>'smtp.126.com', // 邮箱SMTP服务器
    'MAIL_LOGINNAME'=>'xxx', // 邮箱登录帐号
    'MAIL_PASSWORD'=>'xxx', // 邮箱密码

其中的邮箱登录帐号可能需要包括@后面的内容,请自行尝试^_^

第四步、在Action中发送邮件

由于ThinkPHP会自动加载common.php中的函数,所以在需要发送邮件的时候,只需要使用如下代码即可。

 代码如下 复制代码

SendMail("xxx@xxx.com","邮件标题","邮件正文");

至此,本教程已经结束。撒花~~~

欢迎成功配置的同学SendMail("dreamrunner@foxmail.com","我也会用ThinkPHP发送邮件啦","哇啦哇啦~~");

还有一些说明

如果邮件正文中需要换行怎么办呢?其实,最简单的方法是——

SendMail("xxx@xxx.com","邮件标题","邮件正文
我换行啦~~!");

 

QQ邮箱(含foxmail)和网易的126、163都测试成功。因为近期访问GMail比较吃力,所以没有测试。听说GMail要求必须使用SSL,有这方面需要的同学自行谷歌百度PHPMailer的方法。

 

时间: 2024-07-31 16:44:58

ThinkPHP 利用 PHPMailer 实现邮件发送的相关文章

ThinkPHP利用PHPMailer实现邮件发送实现代码_php实例

本文所使用的是ThinkPHP 2.1版和 PHPMailer 5.1版.(后者建议您直接从本博下载,因为我们不能保证下面的代码在所有版本的PHPMailer中都能正常运行) 下面是具体步骤: 第一步.添加PHPMailer类库 点击此处下载将下载后的文件解压,将PHPMail目录移动至ThinkPHP目录中的Vendor内.(请确保class.phpmailer.php文件就在ThinkPHPVendorPHPMailerclass.phpmailer.php) 第二步.添加发送邮件函数 在项

使用PHPMailer实现邮件发送代码分享_php实例

发送邮件是常用的功能,LZ今天在项目中也碰到了,特此分享一下. 首先,去下载PHPMailer 1.https://github.com/dwqs/PHPMailer 2.http://download.csdn.net/detail/u011043843/8063583 下载之后,将文件解压到项目目录的对应位置,将class.phpmailer.php和class.smtp.php引入项目中,看代码:(解压的文件不要删除,否则不行) <?php // 必要导入 require("clas

phpmailer多邮件发送

phpmailer多邮件发送 require("class.phpmailer.php"); $mail = new PHPMailer(); $mail->From     = "list@mydomain.com"; $mail->FromName = "List manager"; $mail->Host     = "smtp1.site.com;smtp2.site.com"; $mail->

Laravel 中利用MailThief实现邮件发送例子

MailThief 是 Tighten Co 编写的一个新扩展包,用于在 Laravel 应用中模拟邮件发送,通过该扩展包我们可以在不发送邮件的情况下实现邮件发送测试,这么说可能还是有点绕,下面我们通过一个具体的实例来说明. 假设我们之前为新用户注册成功发送欢迎邮件注册过一个这样的路由: Route::post('register', function () {     // <snip> 这里是注册实现逻辑 </snip>     Mail::send('emails.welco

PHP邮件发送类

Swift Mailer 和前面介绍的PHPMailer一样,也是一个PHP邮件发送类.它不依赖于 PHP 自带的mail() 函数,因为该函数在发送多个邮件时占用的系统资源很高.Swift 直接与 SMTP 服务器通讯,具有非常高的发送速度和效率. phpmailer邮件找回密码 1.根据邮件找回链接进入重置密码操作页面 .仅一周内.一次有效 2.重置密码 (也可以将密码发送直接登录) 生成邮件找回邮件 用linux下安装的sendmail写了一个发送email的程序 Java代码   <?p

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

1.首先是下载PHPMailer   2.解压   从中取出class.phpmailer.php 和 class.smtp.php 放到你的项目的文件夹,因为我们等下会引用到它们.   3.创建发送邮件的函数,其中你需要配置smtp服务器   function postmail($to,$subject = '',$body = ''){     //Author:smsyun WebSite: http://www.111cn.net     //$to 表示收件人地址 $subject 表

ThinkPHP邮件发送类

最近在做一个项目,需要有邮件发送的功能,服务器邮件发送的话,服务器上必须有能链接邮件服务器,才能实现以下的步骤,现在就给大家分享一下,专门做了一个邮件的发送类 /** * 系统邮件发送函数 * @param string $to 接收邮件者邮箱 * @param string $name 接收邮件者名称 * @param string $subject 邮件主题 * @param string $body 邮件内容 * @param string $attachment 附件列表 * @retu

PHP邮件发送类PHPMailer用法实例详解

 本文实例讲述了PHP邮件发送类PHPMailer用法,并详细讲述了其具体的操作步骤.分享给大家供大家参考.具体步骤如下: 1.在服务器安装 sendmail 1 sudo apt-get install sendmail 2.启动 sendmail 1 sudo /etc/init.d/sendmail start 3.修改 php.ini 1 2 3 4 [mail function]  SMTP = localhost  smtp_port = 25  sendmail_from = me

phpmailer发邮件,显示发送成功,邮件却没收到

问题描述 phpmailer发邮件,显示发送成功,邮件却没收到 这是配置信息 这是提示信息 Invalid address是哪儿来的?为什么已经显示发送成功却收不到邮件? 解决方案 通过phpmailer使用gmail账号发送邮件了[转]用 phpmailer 发送邮件PHPmailer发送邮件 解决方案二: 163的邮箱里需要配置一下的