zoukankan      html  css  js  c++  java
  • ThinkPHP 3.2.3 使用 Swift Mailer 邮件系统发送邮件

    SwiftMailer 下载地址:https://github.com/swiftmailer/swiftmailer

    版本:swiftmailer-5.x

    把压缩包解压到 /ThinkPHP/Library/Vendor 中。

    配置文件 config.php

    <?php
    return array(
    	//'配置项'=>'配置值'
    	// 邮件配置
    	'SMTP'	=>	'smtp.XXX.cn',
    	'MAIL_PORT'	=>	25,
    	'MAIL_USER' => 'XXX@XXX.com', //邮箱用户名
    	'MAIL_PWD'	=> 'XXX', //发送邮箱密码或者授权码
    	'MAIL_FROM' => 'XXX@XXX.com',
    	'MAIL_FROM_NAME' => 'dee',
    );
    

    /Application/Home/Common/Swiftmail.class.php

    <?php
    namespace HomeCommon;
    
    class Swiftmail {
    	// @param $host 邮件服务器地址
    	// @param $port 端口号
    	// @param $encryption_type 加密方式(例如:使用腾讯qq邮箱时此处填ssl,不加密不填写此项)
    	// @param $user 用户名
    	// @param $pwd 密码或授权码
    	// @param $subject 邮件主题
    	// @param $body 邮件内容
    	// @param $from 邮件来自邮箱号
    	// @param $from_name 邮件来自名称
    	// @param $to 收件人邮箱
    	public static function sendMail($to, $subject, $body, $encryption_type = null) {
    
    		$host = C('SMTP');
    		$port = C('MAIL_PORT'); 
    		$user = C('MAIL_USER'); 
    		$pwd = C('MAIL_PWD');  
    		$from = C('MAIL_FROM'); 
    		$from_name = C('MAIL_FROM_NAME');
    
    		Vendor('swiftmailer.lib.swift_required');
    
    		$transport=Swift_SmtpTransport::newInstance($host, $port, $encryption_type)
    				->setUsername($user)
    				->setPassword($pwd);
    
    		$mailer =Swift_Mailer::newInstance($transport);
    		$message=Swift_Message::newInstance()
    						->setSubject($subject)
    						->setFrom(array($from=>$from_name))
    						->setTo($to)
    						->setContentType("text/html")
    						->setBody($body);
    		$mailer->protocol='smtp';
    		$mailer->send($message);
    	}
    }
    

      

    控制器和方法(按需求确定位置)/Application/Home/Controller/IndexController.class.php

    <?php
    namespace HomeController;
    use ThinkController;
    use HomeCommonSwiftmail;
    
    class IndexController extends Controller {
    
        public function mail_send() {
        	$to = '472323087@qq.com';
        	$subject = 'SwiftMail测试标题';
        	$body = '<h1>SwiftMail演示</h1>这是dee对SwiftMail的测试内容';
    
        	try {
        		Swiftmail::sendMail($to, $subject, $body);
    				echo 'success';
    			} catch(Swift_RfcComplianceException $e) {
    				echo $e->getMessage();
    			}
        }
    }
    

      

    运行后显示 success

    收取邮件:

     

    打开邮件:

    参考:发送邮件Swift Mailer代替PHPmail

  • 相关阅读:
    CentOS 7 iSCSI 多路径Multipath配置
    Centos7 GRE Tunnel
    ESXi开启虚拟化
    ownCloud 10.2.1搭建云盘服务器
    cinder不同类型volume转换
    linux的bond及子接口配置
    openstack 平台添加vGPU
    ownCloud 10.2.1搭建云盘服务器
    openstack nova 热迁移问题
    bugku-web40对git命令的使用
  • 原文地址:https://www.cnblogs.com/dee0912/p/5451564.html
Copyright © 2011-2022 走看看