php smtp 附件,PHP实现SMTP邮件发送

您现在的位置是:网站首页>>PHP>>php

PHP实现SMTP邮件发送

发布时间:2018-11-23 13:55:17作者:wangjian浏览量:756点赞量:0

使用PHPMAILER实现PHP发邮件功能

一:下载phpMAILER源码

下载下来之后将PHPMAILER源码放到你的项目里,这里我把PHPMAILER源码放到了我的php文件同级

二:配置php.ini

使用 phpinfo() 函数查看 sockets 和 openssl 扩展信息是否开启

fc57489c3ae0b704cbe101446430c561.png

ab70d82b4757e13a46fcce04bc293ae2.png

1:sockets如果没有开启请打开php.ini文件进行开启

首先检查php.ini中;extension=php_sockets.dll是否存在, 如果存在的话去掉前面的注释符‘;’, 如果不存在这行,那么添加extension=php_sockets.dll。

2:openssl 如果没有开启请打开php.ini文件进行开启

首先检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;’, 如果不存在这行,那么添加extension=php_openssl.dll。

三:实现邮件发送/**

* @param $address mixed 收件人 多个收件人时为数组 array($address1,$address1)

* @param $subject string 邮件主题

* @param $body string 邮件内容

* @param $file string 附件

* @return bool|string 发送成功返回true 反之返回报错信息

* @throws Exception

*/

function send_mail_by_smtp($address, $subject, $body, $file = '') {

require './PHPMailer-master/src/Exception.php';

require './PHPMailer-master/src//PHPMailer.php';

require './PHPMailer-master/src//SMTP.php';

//date_default_timezone_set("Asia/Shanghai");//设定时区东八区

$mail = new PHPMailer\PHPMailer\PHPMailer();

// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式

$mail->SMTPDebug = 1;

// 使用smtp鉴权方式发送邮件

$mail->isSMTP();

// smtp需要鉴权 这个必须是true

$mail->SMTPAuth = true;

// 链接qq域名邮箱的服务器地址

$mail->Host = 'smtp.qq.com';

// 设置ssl连接smtp服务器的远程服务器端口号是否开启

if ($mail->Port === 465) {

// 设置使用ssl加密方式登录鉴权

$mail->SMTPSecure = 'ssl';

}

// 设置发送的邮件的编码

$mail->CharSet = 'UTF-8';

// 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名

$mail->FromName = 'ceshi';

// smtp登录的账号 QQ邮箱即可

$mail->Username = '243681093@qq.com';

// smtp登录的密码 使用生成的授权码

$mail->Password = 'tkccftyagtkobghh';

// 设置发件人邮箱地址 同登录账号

$mail->From = '243681093@qq.com';

// 邮件正文是否为html编码 注意此处是一个方法

$mail->isHTML(true);

// 设置收件人邮箱地址

if (is_array($address)) {

foreach ($address as $key => $value) {

$mail->addAddress(value);

}

} else {

$mail->addAddress($address);

}

// 添加该邮件的主题

$mail->Subject = $subject;

// 添加邮件正文

$mail->Body = $body;

if ($file) {

// 为该邮件添加附件

$mail->addAttachment($file);

}

// 发送邮件 返回状态

$status = $mail->send();

}

调用上述方法即可实现邮件发送

272a2ff497ff398701eef161070cd122.png

0

+1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值