zoukankan      html  css  js  c++  java
  • PHP 发邮件《转》

    导读:PHP自带的mail()函数,是php内置发邮件的函数,该函数虽然简单,但是要想真正可以发邮件得有很复杂的配置。不适合新手,以及项目实际的应用的开发。

    php的mail()函数复杂配置,使得直接用函数发邮件变得不是上上之策,所以我们在实际中都会使用第三方类库,今天我介绍的是PHPMailer.class.php(PHPMailer.zip)。当然你在学习本教程之前如果你对ThinkPHP不太熟的话,建议去学一下本博客的ThinkPHP的一些入门教程(也是特别的简单哟)。

    第一步 先下载PHPMailer.class.php压缩包(本文上面有附件下载)

    解压后会有如下的三个文件:

    1
    2
    3
    1.class.pop3.php
    2.class.smtp.php
    3.PHPMailer.class.php

    PHPMailer.class.php这个文件就是核心的文件,把这个文件放到ThinkPHP的扩展包下路径如下:ThinkPHPExtendLibrary

    第二步 在ThinkPHP,common文件中新建一个common.php文件写入如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    functionSendMail($address,$title,$message)
    {
    import('ORG.Net.PHPMailer');
    $mail=newPHPMailer();
    // 设置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='zyimm';
    // 设置邮件标题
    $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());

    第三步 在ThinkPHP,conf.php文件写入如下代码:

    注意:以下是的我自己QQ邮箱的测试的,每个邮箱参数不同,具体以邮箱为准,qq邮箱的stmp需要自己到邮箱开启的。

    1
    2
    3
    4
    5
    6
    7
    8
    returnarray(
    //'配置项'=>'配置值'
    'MAIL_ADDRESS'=>'799783009@qq.com'// 邮箱地址  
    'MAIL_LOGINNAME'=>'799783009@qq.com'// 邮箱登录帐号
    'MAIL_SMTP'=>'smtp.qq.com'// 邮箱SMTP服务器
    'MAIL_PASSWORD'=>'******'// 邮箱密码
    'SHOW_PAGE_TRACE'=>true,
    );

    第四步 剩下使用了。在ThinkPHP,IndexAction.class.php文件写入如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // 本类由系统自动生成,仅供测试用途
    classIndexAction extendsAction {
    publicfunctionindex(){
    if(!empty($_POST['title']) && !empty($_POST['content'])){
    if(SendMail("597417106@qq.com",$_POST['tile'],$_POST['content']))
    echo'发送成功!';
    else
    echo'发送失败';
    }
    $this->assign('title','测试标题');
    $this->display();
    }
     
    }

    好了,就这么简单的,已经成功的骚年快来留言,分享自己的经验吧└(^o^)┘

  • 相关阅读:
    记 · 佛系青年 · 嗯我百度了下
    【CSS】452- 浏览器解析 CSS 样式的过程
    记 · 平安夜 · 平安平安平安
    【Vuejs】451- Vue CLI 首屏优化技巧
    【网站发布】前端自习课
    【CSS】450- 温故而知我不懂的CSS
    【CSS】449- CSS第四级选择器
    RabbitDemo —— Topic
    RabbitDemo —— Fanout
    RabbitDemo —— Direct
  • 原文地址:https://www.cnblogs.com/Duskcl/p/4990606.html
Copyright © 2011-2022 走看看