基于thinkphp的发送邮件的方法
2014-08-15 17:52
363 查看
在没有接触发送邮件这一块的功能,感觉通过程序发送邮件有点高端,今天公司要求完成邮件激活账号的功能,认真了解后,发现这个功能也是很简单的:
第一步:我们需要phpmailer扩展的支持,
phpmailer下载地址:https://code.google.com/a/apache-extras.org/p/phpmailer
下载完成后放置的目录为:D:\mywork\xampp\htdocs\ACBooking\ThinkPHP\Library\Vendor\PHPMailer
第二步:在使用扩展的函数前,我们需要先做一下初始的配置,
第三步:配置完之后就可以开始编写发送程序了,下面是我用到的一个方法,
ok!!!就这么简单就能发送邮件到指定的账号,很多网站的邮件激活功能就怎么简单的实现了!
第一步:我们需要phpmailer扩展的支持,
phpmailer下载地址:https://code.google.com/a/apache-extras.org/p/phpmailer
下载完成后放置的目录为:D:\mywork\xampp\htdocs\ACBooking\ThinkPHP\Library\Vendor\PHPMailer
第二步:在使用扩展的函数前,我们需要先做一下初始的配置,
//邮件配置 'THINK_EMAIL' => array( 'SMTP_HOST' => 'smtp.aaa.com', //SMTP服务器 'SMTP_PORT' => '465', //SMTP服务器端口 'SMTP_USER' => 'mail@aaa.com', //SMTP服务器用户名 'SMTP_PASS' => 'password', //SMTP服务器密码 'FROM_EMAIL' => 'mail@aaa.com', //发件人EMAIL 'FROM_NAME' => 'ThinkPHP', //发件人名称 //'REPLY_EMAIL' => '', //回复EMAIL(留空则为发件人EMAIL) //'REPLY_NAME' => '', //回复名称(留空则为发件人名称) ),(因为我要实现的功能不需要回复,所以后两条配置我注释了)
第三步:配置完之后就可以开始编写发送程序了,下面是我用到的一个方法,
/** * 系统邮件发送函数 * @param string $to 接收邮件者邮箱 * @param string $name 接收邮件者名称 * @param string $subject 邮件主题 * @param string $body 邮件内容 * @param string $attachment 附件列表 * @return boolean */
function think_send_mail($to, $name, $subject = '', $body = '', $attachment = null) { $config = C('THINK_EMAIL');<span style="white-space:pre"> </span>//提取上面的配置 vendor('PHPMailer.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件,vendor是thinkphp中引用扩展的//方法 $mail = new PHPMailer(); //PHPMailer对象 $mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码 $mail->IsSMTP(); // 设定使用SMTP服务 $mail->SMTPDebug = 0; // $mail->SMTPDebug = 1; // 关闭SMTP调试功能 // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // 启用 SMTP 验证功能 //$mail->SMTPAuth = false; // 启用 SMTP 验证功能 如果为false则不用填写用户名密码也可以发送Email //$mail->SMTPSecure = 'ssl'; // 使用安全协议 $mail->Host = $config['SMTP_HOST']; // SMTP 服务器 $mail->Port = $config['SMTP_PORT']; // SMTP服务器的端口号 $mail->Username = $config['SMTP_USER']; // SMTP服务器用户名 $mail->Password = $config['SMTP_PASS']; // SMTP服务器密码 $mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']); $mail->FromName = $config['FROM_NAME']; $mail->From = $config['FROM_EMAIL']; /* //添加邮件回复 $replyEmail = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL']; $replyName = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME']; $mail->AddReplyTo($replyEmail, $replyName); */ $mail->Subject = $subject; $mail->MsgHTML($body); $mail->AddAddress($to, $name); /* if(is_array($attachment)){ // 添加附件 foreach ($attachment as $file){ is_file($file) && $mail->AddAttachment($file); } } */ $return_info = $mail->Send() ? true : $mail->ErrorInfo; //echo $return_info; return $return_info; }
ok!!!就这么简单就能发送邮件到指定的账号,很多网站的邮件激活功能就怎么简单的实现了!
相关文章推荐
- asp.net基于windows服务实现定时发送邮件的方法
- asp.net基于windows服务实现定时发送邮件的方法
- php基于socket实现SMTP发送邮件的方法
- java实现基于SMTP发送邮件的方法
- ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法
- Android监听手机电话状态与发送邮件通知来电号码的方法(基于PhoneStateListene实现)
- thinkphp使用phpmailer发送邮件的方法
- PHP实现发送邮件的方法(基于简单邮件发送类)
- asp.net基于windows服务实现定时发送邮件的方法
- java实现基于SMTP发送邮件的方法
- 邮件发送方法(不基于模板)
- PHP实现发送邮件的方法(基于简单邮件发送类)
- PHP实现发送邮件的方法(基于简单邮件发送类)
- php基于socket实现SMTP发送邮件的方法
- thinkphp使用phpmailer发送邮件的方法
- .net中发送邮件的方法(C#)
- 大文件通过邮件发送的绝佳新方法
- asp发送邮件的几种方法
- Outlook发送邮件出错的解决方法
- 发送邮件的几种方法