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 使用相关推荐

  1. php引入PHPMailer发送邮件

    昨天做了一个发送邮件的功能,如果直接用mail()函数,需要拥有自己的邮件服务器,所有引入PHPMailer类方便快捷,简单写一下开发步骤: 一.拥有自己的邮箱账号(作为发件人邮箱) 分两种情况: 1 ...

  2. PHPMailer类 发送邮件

    /*** [sendMail 邮件发送类]* @param [string] $address [收件人的邮件地址]* @param [string] $nickname [收件人的昵称]* @par ...

  3. 中文详解phpmailer所有对象和属性

    2019独角兽企业重金招聘Python工程师标准>>> 2009-03-09 19:13:50 前言:   phpmailer是一个优秀的发件程序,但中文资料比较少,于是有牛人手动翻 ...

  4. 利用phpmailer类邮件发送

    <?phprequire("class.phpmailer.php"); //下载的文件必须放在该文件所在目录$mail = new PHPMailer(); //建立邮件发 ...

  5. 认识下PHP如何使用 phpmailer 发送电子邮件

    phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址.回复地址.邮件主题.html网页,上传附件,并且使用起来非常方便. phpMailer 的特点: 在邮件中包含多个 TO ...

  6. 【PHPMailer】写一封邮件

    function sendMail($title, $content, $from, $to, $charset='utf-8', $attachment='123.gif'){include 'cl ...

  7. php中使用phpmailer发送邮件

    2019独角兽企业重金招聘Python工程师标准>>> 首先去下载一个phpmailer的压缩包(随便一搜就可以找的到)然后解压代码如下: <?php require(&quo ...

  8. 用 PHPMailer 发送邮件

    REFs http://gohom.win/2015/07/02/PHPmailer/ http://blog.wpjam.com/m/phpmailer/ https://www.kancloud. ...

  9. 使用 PHPMailer 发送邮件

    PHPMailer 的官方网站:http://phpmailer.worxware.com/ PHPMailer 最新类库下载地址:[点击下载] PHPMailer GitHub 下载地址:https ...

  10. php backdoor creator encoder,Raven2 渗透(phpmailer漏洞+UDF提权)

    本帖最后由 Ybwh 于 2020-7-19 01:05 编辑 本文原创作者Ybwh,本文属i春秋原创奖励计划,未经许可禁止转载! 开机后扫描网段拿到ip地址 clipboard2.png (73.9 ...

最新文章

  1. 青茶什么时候拆_为什么铁观音这么香?到底有没有添加香精?看完你就知道了...
  2. 【问链财经-区块链基础知识系列】 第二十七课 区块链与分布式账本的异同
  3. JAVA图片不显示imageicon_怎么没法显示图片图标呢?
  4. Enlarge GCD CodeForces - 1034A(欧拉筛+最大公约数)
  5. 蚂蚁金服王旭:开源的意义是把社区往前推进一步
  6. Oracle数据库在.net连接问题总结
  7. 数分项目《泰坦尼克》——Task1
  8. solidword入门使用
  9. 搞一下 SOA实战 | 01 SOA 开发流程实战
  10. Java经典代码工具类
  11. 计算机视觉知识点之RCNN/Fast RCNN/Faster RCNN
  12. idea easyYapi插件导入yapi接口使用及踩坑记录
  13. Inspection info: Reports octal integer literals. Some coding standards prohibit the use of octal...
  14. PDF文件怎么在线压缩?教你在线压缩的方法
  15. ubuntu18.04 安装网卡i219-LM驱动
  16. Linux RocketMQ安装
  17. 优化Pytorch模型训练的小技巧
  18. M1 MacBook Pro Anaconda安装
  19. 免费快递单号查询api接口对接调用demo地址
  20. AC-DMIS 5.3 测针注释信息阅读

热门文章

  1. Microsoft Edge 收藏夹如何显示在界面上方?
  2. uniapp 获取android设备 GPS 信号强弱
  3. 劳易测BCB G40 H47 L030 - 条码带
  4. uni-app开发中的#ifdef MP是什么意思?条件编译
  5. DIV根据里面文字自动撑开
  6. 如何快速搭建一个 “简单模式” 的微服务架构
  7. c语言修仙亲吻片段,《C语言修仙》by一十四洲,摘抄
  8. 【GAMES101】课堂笔记1--计算机图形学概述
  9. 动态规划_(dynamic programming)_python_最大子序列(最长公共子序列)(可非连续子序列(several versions))
  10. win10笔记本cpu不高内存也不高但就是很卡,一个办法帮你解决!