首页 >php教程 >php手册 >php中利用PHPMailer插件实现gmail发送邮件

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

WBOY
WBOY原创
2016-05-25 16:49:131260浏览

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

PHPMailer 是一个专门用于php语言的邮件发送类,功能十分地强大,丰富了 PHP 本身单一的 mail() 函数。支持 SMTP 等、附件等。 PHPMailer 遵守 LGPL 授权,可以免费下载。

下载地址:http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/PHPMailer_v5.1.zip/download

使用方法(只说法邮件,其收邮件的功能飘过):代码如下:

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

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

下面是解决方法:只需要在 class.phpmailer.php 中查找到下面的代码(可能由于下载的版本不同而稍微有点区别),代码如下:

<?php
if (eregi(&#39;^(.+):([0-9]+)$&#39;, $hosts[$index], $hostinfo)) {
    $host = $hostinfo[1];
    $port = $hostinfo[2];
} else {
    $host = $hosts[$index];
    $port = $this->Port;
}
?>

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

<?php
if (eregi(&#39;^#(([a-z]+://)?[^:]+):(d+)#i&#39;, $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发送邮件

教程网址:

欢迎收藏∩_∩但请保留本文链接。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn