php5.5使用PHPMailer-5.2发送邮件的完整步骤

前言

这几天一直被邮件发送功能搞得头大,作为一个小白,遇到坑总是难免的。今天终于把phpmailer搞定了,下面就来总结一下

PHPMailer - A full-featured email creation and transfer class for PHP。

在PHP环境中可以使用PHPMailer来创建和发送邮件。

最新版本(20181012)是PHPMailer 6.0.5,这个无法兼容php5.5以下的环境。由于我需要维护php5.3的项目,需要切换到PHPMailer5.2来发送邮件。

下载地址: https://github.com/PHPMailer/PHPMailer/releases/tag/v5.2.24

下面话不多说了,来一起看看详细的介绍吧

基本使用

下载解压后。新建一个测试demo。

<?php
require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->SMTPDebug = 3;        // Enable verbose debug output

$mail->isSMTP();          // Set mailer to use SMTP
$mail->Host = 'smtp.exmail.qq.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true;        // Enable SMTP authentication
$mail->Username = 'xxx@qq.com';     // SMTP username
$mail->Password = 'yourpassword';       // SMTP password
$mail->SMTPSecure = 'ssl';       // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465;         // TCP port to connect to

$mail->setFrom('fromWho@qq.com', 'Mailer');
$mail->addAddress('toWhom@qq.com', 'Ryan Miao');  // Add a recipient
$mail->addAddress('ellen@example.com');    // Name is optional
// $mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->addAttachment('/var/tmp/file.tar.gz');   // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true);         // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
 echo 'Message could not be sent.';
 echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
 echo 'Message has been sent';
}

开启SMTPDebug可以查看日志

`0` No output
 `1` Commands
 `2` Data and commands
 `3` As 2 plus connection status
 `4` Low-level data output

错误信息保存在 $mail->ErrorInfo对象中。

保存为mail.php, 命令行执行

php mail.php

即可看到日志,以及邮件发送成功。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • PHPMailer邮件类利用smtp.163.com发送邮件方法

    第一步:需要下载PHPMailer文件包phpmailer-1.73.tar.gz 来自开源社区: http://phpmailer.sourceforge.net/ 第二步:确认你的服务器系统已经支持socket 如下图,通过phpinfo();查看是否支持sockets 如果没有这一项就请注意: socket 是属于PHP扩展部分,编译时必须给定一个用于./configure --enable-sockets 的配置选项. 第三步:把文件解压到你的web服务器目录下,调用类就可以了,说明:首

  • PHPMailer使用教程(PHPMailer发送邮件实例分析)

    php虽然提供了mail()函数,但并不好用,而PHPMailer是一个不错的邮件发送工具,使用起来也是非常简单! 使用PHPMailer发送邮件: 复制代码 代码如下: <?php header("content-type:text/html;charset=utf-8"); ini_set("magic_quotes_runtime",0); require 'class.phpmailer.php'; try { $mail = new PHPMaile

  • Linux服务器下PHPMailer发送邮件失败的问题解决

    需求 更换服务器之后,我发现我的发送邮件功能失效了!原来的服务器是可以的,一定是哪里出问题了,决定来排查一下.我是用的PHPMailer,SMTP方式发送邮件的. 排查过程 这种方式首先PHP要开启sockets拓展,查了一下phpinfo页面,是开启的: 看了一下openssl也是开启(因为拿了qq邮箱来测),所以没问题: 那就再看一下allow_url_fopen,开启的,没问题: 是不是禁用了函数?没有禁用,没问题: 那配置上就没有问题了,我就想,是不是端口被占用了? 运行一下:netst

  • PHPMailer邮件发送的实现代码

    本机环境:LAMP(ubuntu12.10); SMTP服务器用的是stmp.163.com.刚开始对于这个还是蛋疼的,最先使用的是stmp.qq.com结果发的邮件都被腾讯当成垃圾邮件处理了发不出去, 怎么该内容都没过.然后我改成了stmp.gmail.com,然后打开谷歌邮箱的POP服务,但总无法验证成功.最后还是注册一个163,运行代码就成功了. 无痛苦,无压力~~ 代码如下: 复制代码 代码如下: <?php require("PHPMailer/class.phpmailer.p

  • 使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)

    复制代码 代码如下: /*PHPMailer是一个用于发送电子邮件的PHP函数包.它提供的功能包括: *.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址 *.支持多种邮件编码包括:8bit,base64,binary和quoted-printable *.支持SMTP验证 *.支持冗余SMTP服务器 *.支持带附件的邮件和Html格式的邮件 *.自定义邮件头 *.支持在邮件中嵌入图片 *.调试灵活 *.经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imai

  • PHP使用PHPMailer发送邮件的简单使用方法

    最近需要用到发送邮件的功能,原本是用PHP自带的mail()函数发送的.php mail()这个方法非常简单.方便.易用,但是除了网易邮箱.QQ邮箱.GMAIL邮箱等常用的邮箱可以收到之外,经测试HOTMAIL.TOM.LIVE等邮箱是收不到此类邮件的.所以就转而使用PHPMailer这个强大的邮件发送类.使用官方自带的一些例子,有些会报 Mailer Error: Could not instantiate mail function. 这个错误.参考了一些资料之后,还是自己写了一个方法.代码

  • 163的邮件用phpmailer发送(实例详解)

    复制代码 代码如下: <?phprequire_once('../class.phpmailer.php');$mail= new PHPMailer();$body= "我终于发送邮件成功了!呵呵!<br/><a>http://news.qq.com/a/20111115/000792.htm?qq=0&ADUIN=594873950&ADSESSION=1321316731&ADTAG=CLIENT.QQ.3493_.0</a>

  • phpmailer在服务器上不能正常发送邮件的解决办法

    phpmailer本身是一个很不错的开源邮件类,也非常的易用简单,就是偶尔会出现程序上传到服务器上不能发送邮件的情况,在之前也有同学问过我这个问题,当时的时候总是不以为然,今天终于让我碰上了,用phpmailer 在本地测试正常,上传到服务器上就不行了,当然了是用的SMTP方式,最终确定是fsockopen 函数惹的祸,因为安全原因fsockopen 和pfsockopen 经常被服务器端关闭.解决方法如下: 而代之的应该是 stream_socket_client()函数,不过他的参数有一点不

  • PHPMailer发送HTML内容、带附件的邮件实例

    PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能. 本文将结合实例代码,讲解如何设置和实现发送HTML以及带附件的邮件功能. 首先,您可以到PHPMailer获取最新的下载包,解压到WEB目录下. 然后建立一个sendmail.php的文件,载入PHPMailer类,并设置相关属性参数,如邮件服务器地址,发件人和收件人,邮件内容等等,详情

  • phpmailer简单发送邮件的方法(附phpmailer源码下载)

    本文实例讲述了phpmailer简单发送邮件的方法.分享给大家供大家参考,具体如下: 首先,点击此处本站下载相应的php文件. 解压后有2个php文件(2个类)  1个html文件(API) 将2个php文件放到php项目中 简述:我这里是用一个163的邮箱发消息给126的邮箱 关键代码如下: <?php require 'class.phpmailer.php'; $mail = new PHPMailer(true); //建立邮件发送类 $mail->CharSet = "UT

随机推荐