CodeIgniter使用smtp服务发送html邮件的方法


本文实例讲述了CodeIgniter使用smtp服务发送html邮件的方法 。分享给大家供大家参考 。具体如下:

codeigniter 提供的email类,用于发送邮件,

wiki地址: http://codeigniter.org.cn/user_guide/libraries/email.html

实际开发中遇到以下几个问题,总结一下:

1. wiki中说明是可以将配置文件单独提出来,email.php 放置到config文件夹下,

对于email.php 的配置,需要说明的几点:

1) 一般测试使用的smtp服务,如126、163 的邮箱均采用此协议,故 protocol 选择 smtp

2) 企业营销邮件一般都是html的,此时,需要配置mailtype 为 html

示例下我写的email.php 配置文件:

<?php
if ( ! defined(BASEPATH)) exit(No direct script access allowed); 
/* 
|------------------------------------ 
| Email Config 
|------------------------------------ 
| by chaichunyan 
| 
*/ 
$config[protocol] = smtp;
$config[smtp_host] = smtp.126.com;
$config[smtp_user] = xxx@126.com;
$config[smtp_pass] = xxx;
$config[smtp_port] = 25;
$config[charset] = utf-8;
$config[wordwrap] = TRUE;
$config[mailtype] = html;

2) 发送的html 属性值使用的html,需要处理一下

$send_msg = str_replace("\"", "", $msg); 
$this->email->message($send_msg);  

3) 开发时,建议打开debug信息,因为如果你频繁使用126的邮箱对外发送邮件,
一来可能会被认为是垃圾邮件,更主要的是可能被126封杀掉 :(

希望本文所述对大家基于CodeIgniter的php程序设计有所帮助 。