使用PHP发送邮件
我们想使用PHP来发送邮件,一个简单的方法就是用第三方类库,第三方类库有很多人维护,很多人使用,所有体验还是不错的。
这里讲介绍PHPMailer,三步曲吧:
1、下载PHPMailer类库;
2、编写函数封装信息;
3、按要求传参发送信息;
1、下载PHPMailer类库;
这个自己去baidu下载一个吧,开源中国就有;
2、编写函数封装信息;
首先引用 PHPMailer函数,然后进行具体信息的配置,下面是我的配置,你这么写就对了。
先要配置邮件服务器信息:
然后是编写函数,调用上面的配置,根据需要封装好就能使了,我这里只需要指定收件人,发送邮件内容就行了:
3、按要求传参发送信息;
这样就能成功发送任意邮件给任何人了~~回去试试。
这里讲介绍PHPMailer,三步曲吧:
1、下载PHPMailer类库;
2、编写函数封装信息;
3、按要求传参发送信息;
1、下载PHPMailer类库;
这个自己去baidu下载一个吧,开源中国就有;
2、编写函数封装信息;
首先引用 PHPMailer函数,然后进行具体信息的配置,下面是我的配置,你这么写就对了。
先要配置邮件服务器信息:
// 邮件服务器
'THINK_EMAIL' => array(
'SMTP_HOST' => 'smtp.163.com', //SMTP服务器
'SMTP_PORT' => '25', //SMTP服务器端口
//以下内容根据实际情况进行配置
'SMTP_USER' => 'yourname', //SMTP服务器用户名
'SMTP_PASS' => 'yourpwd', //SMTP服务器密码
'FROM_EMAIL' => 'youremail', //发件人EMAIL
'FROM_NAME' => 'yournickname', //发件人名称
),
然后是编写函数,调用上面的配置,根据需要封装好就能使了,我这里只需要指定收件人,发送邮件内容就行了:
/**
* 系统邮件发送函数
* @param $emailinfo 数组 下面是具体信息
* @param $emailinfo['to'] 接收邮件者邮箱
* @param $emailinfo['title'] 邮件主题
* @param $emailinfo['body'] 邮件内容
* @return boolean
*/
function think_send_mail($emailinfo){
$config = C('THINK_EMAIL');
vendor('PHPMailer-master.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件
$mail = new PHPMailer(); //PHPMailer对象
$mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP(); // 设定使用SMTP服务
$mail->SMTPDebug = 0; // 关闭SMTP调试功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
// $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->Subject = $emailinfo['title'];
// foreach ($emailinfo as $key) {
$mail->MsgHTML($emailinfo['body']);
$mail->AddAddress($emailinfo['to'], $emailinfo['to']);
return $mail->Send() ? true : $mail->ErrorInfo;
}
3、按要求传参发送信息;
$emailinfo['title'] = 'hello';
$emailinfo['to'] = '[email protected]';
$emailinfo['body'] = '你能收到,代表我发成功了';
$re2 = think_send_mail($emailinfo);
这样就能成功发送任意邮件给任何人了~~回去试试。