mail()函数的作用:连接到邮件服务器,利用smtp协议,与该服务器交互并投邮件。
注意:
1、mail函数不支持esmtp协议,---即,只能直投,不能登陆
2、由上条,我们只能直投至最终的收件服务器地址.而该地址,又是在php.ini中指定的,所以我们想用mail()函数往 aseoev@163.com发信的话,我们要---
1)查询163邮件服务器的地址
2)把该地址写到php.ini里去
php实例代码如下:
smtp = 163mx02.mxmail.netease.com
sendmail_from = wusong@192.168.1.100
var_dump(mail('12345678@qq.com','from php mail function','very intresting'));
但是使用php自带的mail函数发送邮件我们需要在linux中安装一个sendmail组件才可以否则无法使用。
如果你没有这个sendmail组件我们可以使用phpmailer函数来操作,例子代码如下:
<?php
require('./phpmailer/class.phpmailer.php');
$phpmailer = new phpmailer();
$phpmailer->issmtp();
$phpmailer->host = 'smtp.163.com';
$phpmailer->smtpauth = true;
$phpmailer->username = '';
$phpmailer->password = '';
$phpmailer->charset = 'utf-8';
$phpmailer->from = '';
$phpmailer->fromname = '';
$phpmailer->subject = '';
$phpmailer->body = '';
$phpmailer->addaddress('never_kiss@163.com','aseoe');
echo $phpmailer->send()?'发送成功':'发送失败';
?>
上面不带内容,面看个带内容的,代码如下:
<?php
/**
用phpmailer类来发信
步骤:
0: 引入
1: 实例化
2: 配置属性
3: 调用发送
**/
require('./phpmailer/class.phpmailer.php');
$phpmailer = new phpmailer();
/*
设置phpmailer发信用的方式
可用用win下mail()函数来发
可以用linux下sendmail,qmail组件来发
可以利用smtp协议登陆到某个账户上,来发
*/
$phpmailer->issmtp(); // 用smtp协议来发
$phpmailer->host = 'smtp.163.com';
$phpmailer->smtpauth = true;
$phpmailer->username = ''; //发送邮箱的账号(用163邮箱发信的账号)
$phpmailer->password = ''; //发送邮箱的密码
// 可以发信了
$phpmailer->charset='utf-8';
$phpmailer->from = 'never_4ill@163.com';
$phpmailer->fromname = 'neverkill';
$phpmailer->subject = 'superstart aseoe';
$phpmailer->body = '硕编程(http://www.jb51.net 专注前端开发与编程设计.';
//设置收信人
$phpmailer->addaddress('never_4ill@163.com','neverkill');
// 添加一个抄送
$phpmailer->addcc('1234567','aseoe');
// 发信
echo $phpmailer->send()?'ok':'fail';
补充一个使用上面例子的方法:
直接将phpmailer压缩包解压放到根目录即可运行,直接把文件放到本地wamp 根目录,运行02.php 邮件即可发出(前提php文件可执行)-(不行的话 在根目录建一个文件夹 重复操作一次)http://localhost/02.php。
以上就是php发送邮件的成功案例,希望对大家的学习有所帮助。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!