• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >IIS教程 > php中利用PHPMailer插件实现gmail发送邮件

php中利用PHPMailer插件实现gmail发送邮件

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含class.phpmailer.php,php phpmailer,phpmailer,phpmailer官方下载,phpmailer下载等服务器相关知识,网友希望可以进行参考

phpmailer是一个非常优秀的php第三方邮箱发送类函数,它支持几乎所有国内外邮箱登录发送功能,下面我们一起来看个php中利用PHPMailer插件实现gmail发送邮件实例,希望此教程对大家有帮助。

HPMailer 是一个专门用于php语言的邮件发送类,功能十分地强大,丰富了 PHP 本身单一的 mail() 函数。支持 SMTP 等、附件等。 PHPMailer 遵守 LGPL 授权,可以免费下载。
下载地址:http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/PHPMailer_v5.1.zip/download
使用方法(只说法邮件,其收邮件的功能飘过):

 代码如下 复制代码
IsSMTP();
 $mail->SMTPAuth = true; //smtp要求身份验证
 $mail->SMTPSecure = 'ssl'; //smtp验证方式
 $mail->Port = 465 ; //smtp端口号
 $mail->Username = "username@gmail.com"; // 注册了的gmail用户邮箱(用你的gmail邮箱就可以)
 $mail->Password = "password"; //密码
 $mail->Host = 'smtp.gmail.com'; // 发邮件的服务器
 $mail->IsHTML(true); // 是否使支持 HTML 邮件的发送,默认为 false ,
 $mail->From ='username@gmail.com'; // 发信人的邮箱,用你的gmail邮箱就可以
 $mail->FromName = 'Mailer'; // 你的姓名
 $mail->Subject = '邮件标题'; // 邮件标题
 $mail->Body ='Hello world'; // 邮件内容,支持HTML代码
 $mail->AddAddress('name@anydomain.com', 'First Last'); // 收件人邮箱和姓名
 if (!$mail->Send()) {
 echo $mail->ErrorInfo;
 }

本来一般是照上面的配置就可以通过指定的smtp服务器发送邮件了,但是经个人测试上面的设置只能用163,126的smtp发送邮件,像qq,gmail等都发送不出去! 在google上搜了N久,终于找到了下面的方法可以成功通过gmail发送邮件了,当然还包括:qq、sina、sohu等(雅虎的不能通过,貌似雅虎默认smtp没有开通,得开通他们的一个叫‘邮件提醒’功能才给你开通smtp/pop3)
下面是解决方法: 只需要在 class.phpmailer.php 中查找到下面的代码(可能由于下载的版本不同而稍微有点区别):

 代码如下 复制代码
if(eregi(’^(.+):([0-9]+)$‘, $hosts[$index], $hostinfo)) {
   $host = $hostinfo[1];
  $port = $hostinfo[2];
 } else {
  $host = $hosts[$index];
  $port = $this->Port;
 }

更改为( 不任什么版本都改成下面的内容):

 代码如下 复制代码
if(eregi(’^#(([a-z]+://)?[^:]+):(d+)#i‘, $hosts[$index], $hostinfo)) {
  $host = $hostinfo[1];
  $port = $hostinfo[3];
 } else {
  $host = $hosts[$index];
  $port = $this->Port;
 }

几经修改希望你也可以顺利的通过gmail的smtp发送邮件了(当然要在win下面要能发邮件,还得在IIS中安装smtp以及在php中有OpenSSL扩展的支持)。 最后经测试,这种修改后能顺利通过 126163qqgmailsinasohu的smtp发送邮件

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • php中利用PHPMailer插件实现gmail发送邮件

相关文章

  • Service Unavailable关于IIS连接数的几种解释
  • CentOS下Nginx 设置开机 自启动 代码 脚本 命令
  • php中利用PHPMailer插件实现gmail发送邮件
  • Apache Commons Lang 3.3.2 发布
  • Nginx修改配置实现图片防盗链
  • Centos一键部署openstack RDO packstack
  • Cache List:style或网页空白discuz解决方法
  • Discuz!升级到新安装X出现ucenter中用户为1的问题
  • 天玑科技全力打造IT资源管控平台
  • Subversion成为Apache顶级项目

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • php中利用PHPMailer插件实现gmail发送邮件
    • CentOS 删除MySQL
    • ELK部署参考文档
    • 中小企业及创业团队云上监控方法
    • DNS服务器架设:winmydns
    • IIS服务器没有及时响应启动或控制请求
    • CentOS 7.1下rpm安装 MySQL
    • Openfire Hazelcast集群详解,openfirehazelcast
    • Apache Hadoop 2.3.0 发布
    • Linux下vsftp的安装和配置方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有