phpmailer 使用
2019独角兽企业重金招聘Python工程师标准>>>
内部函数
mail函数
php本身提供了一个邮件发送函数mail,可以在程序中直接发送电子邮件,不过该函数要求服务器支持sendmail或者必须设置一台不需要中继的邮件发送服务器,但现在要找到一台不需要身份验证的邮件发送中继几乎不可能,所以使用mail函数往往无法成功发送email.
自己如果熟悉SMTP协议,结合socket功能就可以编写高效稳定的邮件发送程序,但对一般用户来说太困难.好在互联网上已经有很多别人编写好的邮件发送模块,我们只需要下载后简单调用即可,十分方便.
Mail配置选项
名称 |
默认 |
描述 |
可更改 |
SMTP |
"localhost" |
Windows 专用:SMTP 服务器的 DNS 名称或 IP 地址。 |
PHP_INI_ALL |
smtp_port |
"25" |
Windows 专用:SMTP 端口号。自 PHP 4.3 起可用。 |
PHP_INI_ALL |
sendmail_from |
NULL |
Windows 专用:规定从 PHP 发送的邮件中使用的 "from" 地址。 |
PHP_INI_ALL |
sendmail_path |
NULL |
Unix 系统专用:路径(通常 /usr/sbin/sendmail 或 /usr/lib/sendmail) |
PHP_INI_SYSTEM |
邮件教程
第一步:需要下载PHPMailer文件包(下载地址见扩展阅读)
第二步:确认你的服务器系统已经支持socket 如下图,通过phpinfo();查看是否支持sockets
如果没有这一项就请注意: socket 是属于PHP扩展部分,编译时必须给定一个用于./configure --enable-sockets 的配置选项。
第三步:把文件解压到你的web服务器目录下,调用类就可以了,说明:首先包含 class.phpmailer.php,然后创建对象,设置参数,调用成员函数。具体请见下面的示例代码:
以下为引用的内容:
<?php
require("phpmailer/class.phpmailer.php");
function smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name) {
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP phperz~com
$mail->Host = "200.162.244.66"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "yourmail"; // SMTP username 注意:普通邮件认证不需要加 @域名
$mail->Password = "mailPassword"; // SMTP password
$mail->From = "你的邮件地址";
?>
发送示例代码
下载该组件后,按如下示例编写代码即可实现php在线发送邮件.
一:前台表单
<html>
<body>
<h3>phpmailer Unit Test</h3>
请你输入<font color="#FF6666">收信</font>的邮箱地址:
<form name="phpmailer" action="send.php" method="post">
<input type="hidden" name="submitted" value="1"/>
邮箱地址: <input type="text" size="50" name="address" />
<br/>
<input type="submit" value="发送"/>
</form>
</body>
</html>
二:后台PHP程序
<?php
require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录
$mail = new PHPMailer(); //建立邮件发送类
$address = $_POST['address'];
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->CharSet='UTF-8';// 设置邮件的字符编码
$mail->Host = "mail.xxxxx.***"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Port = "***"; //SMTP端口
$mail->Username = ***@xxxx.***; // 邮局用户名(请填写完整的email地址)
$mail->Password = "******"; // 邮局密码
$mail->From = ***@xxxx.***; //邮件发送者email地址
$mail->FromName = "您的名称";
$mail->AddAddress("$address", "");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
//$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式
$mail->Subject = "PHPMailer测试邮件"; //邮件标题
$mail->Body = "Hello,这是测试邮件"; //邮件内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略
if(!$mail->Send())
{
echo "邮件发送失败. <p>";
echo "错误原因: " . $mail->ErrorInfo;
exit;
}
echo "邮件发送成功";
?>
require("class.phpmailer.php");
$mail = new PHPMailer();
//通过数组方式存储邮件接收者
$address = array('aaaaaa','bbbbbb');
//使用SMTP方式发送邮件
$mail->IsSMTP();
//邮局服务器
$mail->Host = 'smtp.exmail.*';
//开启SMTP验证
$mail->SMTPAuth = true;
//邮局主机中的用户名
$mail->Username = 'admin';
//邮局密码
$mail->Password = '123456';
//邮局端口,SMTP默认25端口
$mail->Port=25;
//邮件发送者email地址
$mail->From = 'xxxxxxx';
//邮件来源(发件人)
$mail->FromName = 'PHPMailer群发Demo';
$len = count($address);
for ($i=0; $i < $len; $i++) {
$mail->AddAddress($address[$i]);
}
$mail->Subject = $title;//邮件标题
$mail->Body = $content;//邮件内容
$mail->Send();
注意:
1. 邮件的字符集设置, $mail->CharSet = "GB2312"; // 这里指定字符集!在这里我只指定为GB2312因为这样Outlook能正常显示邮件主题,我尝试过设为utf-8但在Outlook下显示乱码。
2. 如果是发送html格式的邮件,那么记得也指定
3. 如果你想用它来群发邮件的话,记得修改包含文件函数,如:
require("phpmailer/class.phpmailer.php");
改为
require_once("phpmailer/class.phpmailer.php");
否则的话会产生类的重定义。
个人认为要使用phpmailer,首先,需要有一个邮件服务器,PHP的 mail函数没有指定,应该是使用的PHP设置的SMTP。
而在这里需要具体指定,同时需要指定邮件服务器的管理者和密码。
PHPMailer 也是一个功能强大的邮件类
图片按列
转载于:https://my.oschina.net/zqouba/blog/707888
phpmailer 使用相关推荐
- php引入PHPMailer发送邮件
昨天做了一个发送邮件的功能,如果直接用mail()函数,需要拥有自己的邮件服务器,所有引入PHPMailer类方便快捷,简单写一下开发步骤: 一.拥有自己的邮箱账号(作为发件人邮箱) 分两种情况: 1 ...
- PHPMailer类 发送邮件
/*** [sendMail 邮件发送类]* @param [string] $address [收件人的邮件地址]* @param [string] $nickname [收件人的昵称]* @par ...
- 中文详解phpmailer所有对象和属性
2019独角兽企业重金招聘Python工程师标准>>> 2009-03-09 19:13:50 前言: phpmailer是一个优秀的发件程序,但中文资料比较少,于是有牛人手动翻 ...
- 利用phpmailer类邮件发送
<?phprequire("class.phpmailer.php"); //下载的文件必须放在该文件所在目录$mail = new PHPMailer(); //建立邮件发 ...
- 认识下PHP如何使用 phpmailer 发送电子邮件
phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址.回复地址.邮件主题.html网页,上传附件,并且使用起来非常方便. phpMailer 的特点: 在邮件中包含多个 TO ...
- 【PHPMailer】写一封邮件
function sendMail($title, $content, $from, $to, $charset='utf-8', $attachment='123.gif'){include 'cl ...
- php中使用phpmailer发送邮件
2019独角兽企业重金招聘Python工程师标准>>> 首先去下载一个phpmailer的压缩包(随便一搜就可以找的到)然后解压代码如下: <?php require(&quo ...
- 用 PHPMailer 发送邮件
REFs http://gohom.win/2015/07/02/PHPmailer/ http://blog.wpjam.com/m/phpmailer/ https://www.kancloud. ...
- 使用 PHPMailer 发送邮件
PHPMailer 的官方网站:http://phpmailer.worxware.com/ PHPMailer 最新类库下载地址:[点击下载] PHPMailer GitHub 下载地址:https ...
- php backdoor creator encoder,Raven2 渗透(phpmailer漏洞+UDF提权)
本帖最后由 Ybwh 于 2020-7-19 01:05 编辑 本文原创作者Ybwh,本文属i春秋原创奖励计划,未经许可禁止转载! 开机后扫描网段拿到ip地址 clipboard2.png (73.9 ...
最新文章
- 青茶什么时候拆_为什么铁观音这么香?到底有没有添加香精?看完你就知道了...
- 【问链财经-区块链基础知识系列】 第二十七课 区块链与分布式账本的异同
- JAVA图片不显示imageicon_怎么没法显示图片图标呢?
- Enlarge GCD CodeForces - 1034A(欧拉筛+最大公约数)
- 蚂蚁金服王旭:开源的意义是把社区往前推进一步
- Oracle数据库在.net连接问题总结
- 数分项目《泰坦尼克》——Task1
- solidword入门使用
- 搞一下 SOA实战 | 01 SOA 开发流程实战
- Java经典代码工具类
- 计算机视觉知识点之RCNN/Fast RCNN/Faster RCNN
- idea easyYapi插件导入yapi接口使用及踩坑记录
- Inspection info: Reports octal integer literals. Some coding standards prohibit the use of octal...
- PDF文件怎么在线压缩?教你在线压缩的方法
- ubuntu18.04 安装网卡i219-LM驱动
- Linux RocketMQ安装
- 优化Pytorch模型训练的小技巧
- M1 MacBook Pro Anaconda安装
- 免费快递单号查询api接口对接调用demo地址
- AC-DMIS 5.3 测针注释信息阅读
热门文章
- Microsoft Edge 收藏夹如何显示在界面上方?
- uniapp 获取android设备 GPS 信号强弱
- 劳易测BCB G40 H47 L030 - 条码带
- uni-app开发中的#ifdef MP是什么意思?条件编译
- DIV根据里面文字自动撑开
- 如何快速搭建一个 “简单模式” 的微服务架构
- c语言修仙亲吻片段,《C语言修仙》by一十四洲,摘抄
- 【GAMES101】课堂笔记1--计算机图形学概述
- 动态规划_(dynamic programming)_python_最大子序列(最长公共子序列)(可非连续子序列(several versions))
- win10笔记本cpu不高内存也不高但就是很卡,一个办法帮你解决!