开发点滴我爱编程

利用PHPmailer发送邮件及问题解决

2018-04-10  本文已影响0人  Nomandia

利用PHPMailer发送邮件

## 相关引用后生成实例
$mailer = new EMailer();

## 开启安全认证,默认是false
$mailer->SMTPAuth = true;

## 此处举例的是阿里邮箱的smtp服务器地址
$mailer->Host = 'smtp.mxhichina.com';

## 启用smtp,默认是空
$mailer->IsSMTP();

## 启用安全通道,默认空。这里最好看看邮件服务的配置,阿里是ssl
$mailer->SMTPSecure = 'ssl';

## 邮件服务器端口,务必用telnet xxx port证明下端口是通的
$mailer->Port = 465;

## 邮件编码
$mailer->CharSet = 'UTF-8';

## 发件人名(用于显示)
$mailer->FromName = '上帝';

## 发件人账号,通常是你的邮箱地址
$mailer->Username = 'xxx@yyy.com';

## 发件人的邮箱密码
$mailer->Password = 'secret';

## 发件人邮件地址
$mailer->From = 'sdkjgy@xxx.com';

## 开启的话会支持HTML
$mailer->isHTML(true);

## 收件人地址,数组或字符串
$mailer->addAddress('nomandia@xxx.com');

## 邮件主题
$mailer->Subject = '邮件主题';

## 邮件内容
$mailer->Body = '<h1>Hello World</h1>';

## 发送,$status=true时表示发送成功
$status = $mailer->send();

通常这么设置后边可以正常发送邮件了,不过有时候会遇到问题,常见的错误有:

Could not instantiate mail function. :代码服务器不支持邮件功能,可以先检查PHP是否启用 openssl和sockets模块,windows就纠结了。另外要确保25、465等端口没有被占用。

SMTP Error: Could not connect to SMTP host
连不上邮件服务器(Host值),可能的情况是:防火墙、地址填错了、端口错等。可考虑先用telnet host port连下看看。

SMTP server error: mail from address must be same as authorization user:认证失败就看看你的账号密码是否填错,有些邮箱(如:企鹅)是有二级密码的,此密码并非登录密码。

上一篇下一篇

猜你喜欢

热点阅读