专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Swift

thinkphp 调整 swiftmailer 实现邮件发送

发布时间:2011-06-30 07:24:15 文章来源:www.iduyao.cn 采编人员:星星草
thinkphp 整合 swiftmailer 实现邮件发送

thinkphp swiftmailer(phpmailer)

目录结构

这里写图片描述
图 1 swiftmailer-phpmailer

将swiftmailer整合到thinkphp中,如上图 1
我下载的版本是 swiftmailer-5.x, 将目录里面的lib文件夹重命名为swiftmailer,并拷贝到ThinkPHP/Library/Vendor目录下,如上图 1

配置

这里写图片描述
图 2 phpmailer swiftmailer 配置对比

// thinkphp config.php
// 配置swiftmailer邮件发送服务器
'SWIFT_HOST'     => 'smtp.qq.com',
'SWIFT_USERNAME' => '1071766043@qq.com',
'SWIFT_PASSWORD' => 'your-password',
从上面的对比可以看出,swiftmailer相比较于phpmailer来说配置简洁

使用

// 在需要使用的时候直接调用下面(图)的send_email函数即可,
// 但是需要注意函数的返回值,因为可以根据返回值来确定是否发送成功
send_email('2577792479@qq.com', 'your-email-subject', 'your-email-content');

这里写图片描述
图 3

同样的,在自定义的**全局**function.php文件中,
定义一个通过swiftmailer发送邮件的**全局**函数,
方便直接调用,代码如下:
<?php
// Application/Common/Common/function.php

/**
 * send email by swiftmailer
 *
 * @param  string|array $to      收件人
 * @param  string       $subject 主题
 * @param  string       $content 内容
 * @return int          发送的邮件数目
 */
function send_email($to, $subject, $content)
{
    vendor('swiftmailer.swift_required');

    $transport = Swift_SmtpTransport::newInstance(C('SWIFT_HOST'), 25)
                    ->setUsername(C('SWIFT_USERNAME'))
                    ->setPassword(C('SWIFT_PASSWORD'));

    $mailer  = Swift_Mailer::newInstance($transport);
    $message = Swift_Message::newInstance()
                    ->setSubject($subject)
                    ->setFrom(array(C('SWIFT_USERNAME') => 'safari_shi'))
                    ->setTo($to)
                    ->setBody($content, 'text/html', 'utf-8');

    return $mailer->send($message);
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: