第一步

我用的是163邮箱发送邮件,做一个尝试,在尝试之前,需要要开启163邮箱的授权码如图所示,请记住您的授权码,将在之后的步骤中用到

第二步

需要下载一个类PHPMailer,我有这个资源已经上传了,免费的哦亲,连接在这http://download.csdn.NET/detail/s371795639/9693417

下载后,解压后此文件夹放在Vendor目录下,Vendor目录下有个PHPMailer文件夹,那就对了~

第三步

咱们该写代码了

html代码:

  1. <body>
  2. <form action="{:U('home/login/changepwd')}" method="post" enctype="multipart/form-data">
  3. 邮箱:<input type="text" id="mail" name="mail"/>
  4. 标题:<input type="text" id="title" name="title"/>
  5. 内容<input type="text" id="content" name="content"/>
  6. <input class="button" type="submit" name="submit" value="发送" style="margin: 0 auto;display: block;"/>
  7. </form>
  8. </body>

对应的Controller的PHP代码:

  1. public function changepwd()//发送邮件来修改密码
  2.  
  3. {
  4.  
  5. if(isset($_POST['submit']))
  6. {
  7.  
  8. if(SendMail($_POST['mail'],$_POST['title'],$_POST['content']))
  9. $this->success('发送成功!');
  10. else
  11. $this->error('发送失败');
  12.  
  13. }
  14. $this->display();
  15. }

第四步

这是关键

在Common下建立function.PHP输入代码如下

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2016/11/25 0025
  6. * Time: 上午 11:49
  7. */
  8. /**
  9. * 邮件发送函数
  10. */
  11. function sendMail($to, $title, $content) {
  12. Vendor('PHPMailer.PHPMailerAutoload');
  13. $mail = new PHPMailer(); //实例化
  14. $mail->IsSMTP(); // 启用SMTP
  15. $mail->Host=C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例)
  16. $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证
  17. $mail->Username = C('MAIL_USERNAME'); //你的邮箱名
  18. $mail->Password = C('MAIL_PASSWORD') ; //邮箱密码
  19. $mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)
  20. $mail->FromName = C('MAIL_FROMNAME'); //发件人姓名
  21. $mail->AddAddress($to,"尊敬的客户");
  22. $mail->WordWrap = 50; //设置每行字符长度
  23. $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
  24. $mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码
  25. $mail->Subject =$title; //邮件主题
  26. $mail->Body = $content; //邮件内容
  27. $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
  28. return($mail->Send());
  29. }

在Conf下的config.php输入配置如下

  1.  
  1. <?php
  2. return array(
  3. //'配置项'=>'配置值'
  4. 'MAIL_HOST' =>'smtp.163.com',//smtp服务器的名称
  5. 'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证
  6. 'MAIL_USERNAME' =>'s371795639@163.com',//你的邮箱名
  7. 'MAIL_FROM' =>'s371795639@163.com',//发件人地址
  8. 'MAIL_FROMNAME'=>'尘中客',//发件人姓名
  9. 'MAIL_PASSWORD' =>'*******',//邮箱授权码
  10. 'MAIL_CHARSET' =>'utf-8',//设置邮件编码
  11. 'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件
  12. );

然后应该就没有问题了,至少我的是这样。如果用QQ邮箱发送貌似一直失败,修改上面的配置也是不行。也不知道为啥。

谢谢~

http://blog.csdn.net/s371795639/article/details/53333669

PHP发送邮件功能实现(使用163邮箱)的更多相关文章

  1. Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)

    Laravel自带SMTP邮件组件实现发送邮件(QQ.163.企业邮箱都可)     laravel自带SMTP邮件配置和遇到的坑 laravel自带SwiftMailer库,集成了多种邮件API,可 ...

  2. JavaMail实现邮箱之间发送邮件功能

    package com.minstone.message.util; import java.util.Date; import java.util.Properties; import javax. ...

  3. Thinkphp5的使用phpmailer实现发邮件功能(163邮箱)

    Thinkphp5本身并没有实现发邮件的功能,至少据我所知. 本文利用网易邮箱作为发邮件的邮箱.作为发送邮件的前提是需要开启SMTP服务,打开网易邮件,点击设置按钮,如下图所示 勾选smtp服务 保存 ...

  4. java实现邮箱发送邮件功能

    邮箱验证是一个很常见的功能了,基本上每个网站都会用的到,java也有专门的jar来处理邮件发送等服务,这里只是简单的实现一下发送邮件的功能,具体jar包就不再提供了,我会把所有需要引用的包都贴出来,方 ...

  5. app里使用163邮箱发送邮件,被163认为是垃圾邮件的坑爹经历!_ !

    最近有个项目,要发邮件给用户设定的邮箱报警,然后就用了163邮箱,代码是网上借来的^^,如下: package com.smartdoorbell.util; import android.os.As ...

  6. java mail(发送邮件--163邮箱)

    package com.util.mail; /** * 发送邮件需要使用的基本信息 */ import java.util.Properties; public class MailSenderIn ...

  7. DEDECMS会员注册如何配置邮箱发送邮件功能

    网站邮件功能是一个非常基础和有效的通信工具,配合dede会员注册邮件验证功能可以大量的拒绝垃圾注册用户.那么如何配置DEDECMS会员注册邮箱发送邮件功能?   1:配置dedecms网站发信EMAI ...

  8. java调用163邮箱发送邮件

    1:注册一个163邮箱,http://mail.163.com 调用发送邮件代码,查询smtp.163.com,作为发送邮件的服务器ip,类似的邮箱服务器应该也可以. MailSenderInfo m ...

  9. dedecms织梦自定义表单发送到邮箱-用163邮箱发送邮件

    https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_3_dg&wd=dedecms 邮箱&oq=d ...

随机推荐

  1. OpenCV中CvSVM部分函数解读

    CvSVM::predict函数解析:无论是Mat接口还是CvMat接口终于都是通过指针的形式调用的.也就是终于都是调用的下面函数实现的 float CvSVM::predict( const flo ...

  2. CentOS 6.5开放80端口方法

    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改 /etc/init.d/iptables save 保存修改 service ipta ...

  3. Apache2.4.25 VirtualHost rewrite_module

    LoadModule rewrite_module libexec/apache2/mod_rewrite.so Include /private/etc/apache2/extra/httpd-vh ...

  4. Android 异步更新UI----handler+thread

    android应用是单线程模式的. 单线程模式需要记住两条: 一.防止UI线程阻塞 二.确保只在UI线程中访问Android UI工具包 在开发Android应用时必须遵守单线程模型的原则:Andro ...

  5. 【转】Mybatis传多个参数(三种解决方案)

    转自: http://www.2cto.com/database/201409/338155.html 据我目前接触到的传多个参数的方案有三种. 第一种方案: DAO层的函数方法 Public Use ...

  6. spring cloud eureka 服务端开启密码认证后,客户端无法接入问题

    Eureka服务端开启密码的认证比较简单 在pom文件中加入: <dependency> <groupId>org.springframework.boot</group ...

  7. 从零开始学习 asp.net core 2.1 web api 后端api基础框架(四)-创建Controller

    原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(四)-创建Controller 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...

  8. cocos2D-X从的源代码的分析cocos2D-X学习OpenGL(1)----cocos2D-X渲染架构

     个人原创.欢迎转载,转载请注明原文地址http://blog.csdn.net/bill_man 从本篇文章開始,将分析cocos2D-X 3.0源码,第一部分是从cocos2D-X学习OpenGL ...

  9. dedecms织梦出现“Upload filetype not allow”原因和解决方案

    资源:武汉科技有限公司倍频猫 我最近升级DEDE5.6出现此问题后.和解决的方法. 假设有同学是按某些朋友用删除代码的方法解决这个问题的话,建议你修正此做法,毕竟这是有非常大安全风险的.而DEDE本身 ...

  10. Carthage 包管理工具,另一种敏捷轻快的 iOS & MAC 开发体验 | SwiftCafe 咖啡时光

    说起 iOS 开发的包管理,大家就不由得会想起 CocoaPods, 它确实是一个强大的工具.但这次咱们来关注另外一个包管理工具 Carthage,如果说 CocoaPods 像一个航母,一应俱全,坚 ...