• PHPMailer+phalcon中使用


    一、下载phpmailer

       见备注。

    二、打开phalcon,根目录下的index.php

        include __DIR__ . "/../app/extensions/phpmailer/PHPMailerAutoload.php";

    三、作为service,加入到DI容器

      $di->set('phpmailer', function() {
        return new PHPMailer();
      });

    四、实例function

    public function sendEmail($config)
    {
    if(!$config['address'] || !$config['subject'] || !$config['body']){
    return array('flag'=>0,'msg'=>'地址栏、主题、邮件内容,不能为空');
    }

    $mail = $this->phpmailer; // 这个phalcon下直接调用di的service

    $mail->isSMTP(); // Set mailer to use SMTP
    $mail->Host = '****'; // Specify main and backup SMTP servers
    $mail->SMTPAuth = true; // Enable SMTP authentication
    $mail->Username = 'c**@**'; // SMTP username
    $mail->Password = '123456'; // SMTP password
    // $mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted 安全协议,此处不加,联彤服务器没加,so
    $mail->CharSet = "utf-8"; //自己加的

    $mail->From = '**@**.com';
    $mail->FromName = '**管理系统';

    if(@$config['isClear'] == 1){ //http://blog.sina.com.cn/s/blog_64589b1101016pxd.html 讲phpmailer参数的
    $mail->ClearAddresses(); //为什么定时发送邮件需要清理,因为是同一个实例,而indexcontroller,用户访问一次就是一个实例,不会被记忆。
    }


    if(is_array($config['address'])){
    foreach ($config['address'] as $ads) {
    $mail->addAddress($ads,$ads);
    }
    }else{
    $mail->addAddress($config['address'],$config['address']);
    }

    // $mail->addAddress('910ss@qq.com', 'Jimliang'); // Add a recipient
    // $mail->addReplyTo('jim**@gmail.com', 'jim---test');
    // $mail->addCC('jiml***@chs**.com');


    $mail->WordWrap = 50; // Set word wrap to 50 characters
    // $mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
    // $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
    $mail->isHTML(true); // Set email format to HTML

    $mail->Subject = $config['subject'];
    $mail->Body = $config['body'];
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    if(!$mail->send()) {
    return array('flag'=>0,'msg'=>'Message could not be sent. <br/>Mailer Error: ' . $mail->ErrorInfo);
    } else {
    return array('flag'=>1,'msg'=>'Congratulation! Message send success');
    }
    }

    思考:

      今天朋友问题,获取接收邮件列表的问题,只是简略的回答,自己没有测试,有一个例子,在备注。 

    备注:

    下载最新phpmailer

    https://github.com/PHPMailer/PHPMailer

    http://blog.sina.com.cn/s/blog_64589b1101016pxd.html //phpmailer的接口,ClearAddresses--方法 都很好

    http://www.zgguan.com/zsfx/php/573.html //补充一个获取邮件的类

    1、以专家为榜样,不必自己重新探索
    2、解构技能,找出实现80%效果的那20%
    3、不要一心二用
    4、练习练习再练习!然后获得即时反馈
    5、坚持,不要在低谷期放弃
  • 相关阅读:
    集合 排序 判断元素相等 [MD]
    软键盘 输入法管理器 InputMethodManager
    VideoView 视频播放 示例
    富文本 Htmll类 html标签
    MediaPlayer+SurfaceView 视频播放 示例
    SoundPool 音频播放 详解 示例
    MediaPlayer 音频播放 示例
    Strategy 策略模式 MD
    Chain of Responsibility 责任链模式 [MD]
    Iterator 迭代器模式 [MD]
  • 原文地址:https://www.cnblogs.com/zhongyuan/p/3795273.html
Copyright © 2020-2023  润新知