PhpMailer 不发送邮件 - TLS 错误?

2024-03-08

我在使用 phpmailer 发送电子邮件时遇到问题。

发送电子邮件的代码是:

$mail_User      = "[email protected] /cdn-cgi/l/email-protection";
$mail_Password  = "My Password";
$mail_address   = "[email protected] /cdn-cgi/l/email-protection";
$mail_Name      = "MyName";
$mail_Server    = "222.222.222.222";
$mail_Port      = 25;

    function SendHTMLMail($to, $cc, $bcc, $subject, $body)
    {
        global $mail_User, $mail_Password, $mail_address, $mail_Name, $mail_Server, $mail_Port;
        $correo = new PHPMailer;
        $correo->SMTPDebug = 3;                               // Enable verbose debug output
        $correo->SetLanguage("es", "/phpmailer/language/");
        $correo->IsSMTP();

        $correo->IsHTML(true);
        $correo->Host = $mail_Server;
        $correo->Port = $mail_Port;
        $correo->SMTPAuth =true;
        //$correo->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
        $correo->Username = $mail_User;
        $correo->Password = $mail_Password;
        $correo->From      = $mail_address;
        $correo->FromName  = $mail_Name;
        $correo->Subject = $subject;
        $correo->Body    = $body;
        $dest = explode (";", $to);
        for ($n=0; isset($dest[$n]); $n++) $correo->AddAddress($dest[$n]);
        $dest = explode (";", $cc);
        for ($n=0; isset($dest[$n]); $n++) $correo->AddCC($dest[$n]);
        $dest = explode (";", $bcc);
        for ($n=0; isset($dest[$n]); $n++) $correo->AddBCC($dest[$n]);
        if ($correo->Send())
            return "";
        else {
            AddLog("Correo no enviado: $correo->ErrorInfo");
            echo "<br>Correo no enviado: $correo->ErrorInfo<br>";
            return "Correo no enviado: $correo->ErrorInfo";
        }
    }

结果是:

2016-02-24 04:58:17 Connection: opening to 222.222.222.222:25, timeout=300, options=array (
                                      )
2016-02-24 04:58:17 Connection: opened
2016-02-24 04:58:17 SERVER -> CLIENT: 220-srv1.abcdef.com ESMTP Exim 4.86 #2 Wed, 24 Feb 2016 14:47:17 +0100 
                                      220-We do not authorize the use of this system to transport unsolicited, 
                                      220 and/or bulk e-mail.
2016-02-24 04:58:17 CLIENT -> SERVER: EHLO www.site.com
2016-02-24 04:58:18 SERVER -> CLIENT: 250-srv1.abcdef.com Hello www.doznyk.com [181.181.181.181]
                                      250-SIZE 52428800
                                      250-8BITMIME
                                      250-PIPELINING
                                      250-AUTH PLAIN LOGIN
                                      250-STARTTLS
                                      250 HELP
2016-02-24 04:58:18 CLIENT -> SERVER: STARTTLS
2016-02-24 04:58:18 SERVER -> CLIENT: 220 TLS go ahead
2016-02-24 04:58:18 SMTP Error: Could not connect to SMTP host.
2016-02-24 04:58:18 CLIENT -> SERVER: QUIT
2016-02-24 04:58:19 SERVER -> CLIENT: 221 srv1.abcdef.com closing connection
2016-02-24 04:58:19 Connection: closed
2016-02-24 04:58:19 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

为什么phpmailer不发送邮件?如果代码行是注释,为什么它尝试使用 TLS?

我用假数据替换敏感数据,例如服务器名称和 IP。 如果我将端口从 25 更改为 587 并取消注释 tls 行,结果几乎相同。

谢谢


新的测试,同样的结果。

我按照 Synchro 的建议阅读了该文档。 我将端口从 25 更改为 587,并添加了行 $correo->SMTPAutoTLS = true;

$correo->SMTPAuth =true;
$correo->SMTPAutoTLS = true;
//$correo->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$correo->Username = $mail_User;
$correo->Password = $mail_Password;

结果是:

2016-02-24 06:05:36 Connection: opening to 222.222.222.222:587, timeout=300, options=array (
                                      )
2016-02-24 06:05:37 Connection: opened
2016-02-24 06:05:37 SERVER -> CLIENT: 220-srv1.abcdef.com ESMTP Exim 4.86 #2 Wed, 24 Feb 2016 15:54:37 +0100 
                                      220-We do not authorize the use of this system to transport unsolicited, 
                                      220 and/or bulk e-mail.
2016-02-24 06:05:37 CLIENT -> SERVER: EHLO www.myserver.com
2016-02-24 06:05:38 SERVER -> CLIENT: 250-srv1.abcdef.com Hello www.doznyk.com [181.229.171.247]
                                      250-SIZE 52428800
                                      250-8BITMIME
                                      250-PIPELINING
                                      250-AUTH PLAIN LOGIN
                                      250-STARTTLS
                                      250 HELP
2016-02-24 06:05:38 CLIENT -> SERVER: STARTTLS
2016-02-24 06:05:38 SERVER -> CLIENT: 220 TLS go ahead
2016-02-24 06:05:39 SMTP Error: Could not connect to SMTP host.
2016-02-24 06:05:39 CLIENT -> SERVER: QUIT
2016-02-24 06:05:39 SERVER -> CLIENT: 221 srv1.abcdef.com closing connection
2016-02-24 06:05:39 Connection: closed

出色地。我做了很多测试,看不到文档中说我 Synchro 的部分,但 Synchro 是对的。

我添加了下一个代码,现在工作正常!

$correo->SMTPOptions = array(
        'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
); 

虽然我不使用 SSL,但我必须澄清我不使用 SSL,因为 phpmailer 会验证 SSL 是否可用。 或者必须正确配置

Thanks!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PhpMailer 不发送邮件 - TLS 错误? 的相关文章

  • 如何将 JSON 数据从 Android 发送到 php url?

    我想将登录信息从我的应用程序发送到 php url 因为这我的应用程序将崩溃 任何人都可以帮助我解决这个问题 这是我的服务器登录方法 我想将数据发送到此登录方法 Method public method login Parameters 3
  • 具有挑战性的问题 - 使用 PHP 对 XML 数据进行排序

    我有 xml 文件 其中包含大量产品数据 我需要根据我的字段 ProductRange 的数据对我的产品进行排序 ProductRange urldecode GET Range XML 文件数据
  • jquery ajax加载后丢失CSS

    大家知道如何解决 load Ajax 请求后的 css 问题吗 例如 如果我想从网页加载 DIV 在我的 Ajax 请求之后 container load path to div div id 我丢失了与该 div 关联的所有 css 和脚
  • 间歇性 PHP 抽象类错误

    我已经为此奋斗了一段时间 但无法弄清楚 也许其他人也有 或者 Slim PHP Apache 等这里有更深层次的问题 在正常工作几个小时后 我的 Slim 安装将开始给出所有路线均如此 致命错误 类 Slim Collection 包含 1
  • 安装 OCI8:如何纠正“使用未定义常量 OCI_COMMIT_ON_SUCCESS”错误?

    我正在尝试在 RedHat 服务器 RHEL7 上为我的 Apache 服务器安装 OCI8 此时 当我尝试使用 Symphony 连接到我的服务器时 出现以下错误 异常 ErrorException 使用未定义的常量 OCI COMMIT
  • Doctrine 装置如何覆盖 purger 类?

    From doctrine fixture bundle the console doctrine fixtures load n命令定义如下 https github com doctrine DoctrineFixturesBundle
  • php 检查文件是否存在于外部域中(从子域访问)

    我有一个网站http www reelfilmlocations co uk http www reelfilmlocations co uk 上述网站有一个管理区域 其中上传图像并在 uploads images 目录的子文件夹中创建不同
  • Laravel:使用 Faker 播种多个独特的列

    介绍 怎么样 伙计们 我有一个关于模型工厂和多个独特列的问题 背景 我有一个名为 Image 的模型 该模型将语言支持存储在单独的模型中 图片文字 图片文字 has an image id栏 语言栏和文本栏 图片文字有一个约束MySQL那个
  • 通过 PHP 连接到 socket.io(nodejs)

    我需要通过 php 连接到 websocket 发送数据并立即断开连接 无需等待套接字的响应 我用了大象io http elephant io 但更新库后不起作用 请告诉我如何通过 PHP 连接到 websocket 我也遇到了这个问题 学
  • 如何使用 AJAX/jQuery 显示打印内容?

    所以我试图理解整个 AJAX jQuery 的事情 现在 当我单独运行这个 PHP 脚本时 我必须等待并观察轮子旋转 直到循环完成然后加载 while row mysql fetch array res postcode to storm
  • 使用 Mock 对 Laravel 5 Mail 进行单元测试

    有没有办法在 Laravel 5 中测试 Mail 尝试了我在互联网上看到的唯一合法的模拟示例 但它似乎只适用于 Laravel 4 下面的当前代码 mock Mockery mock Swift Mailer this gt app ma
  • 将具有值的产品属性添加到 Woocommerce 中的产品

    我正在使用此代码添加自定义属性 attributes array array name gt Size options gt array S L XL XXL position gt 1 visible gt 1 variation gt
  • 如何解决 注意:未定义索引:第 21 行 C:\xampp\htdocs\invmgt\manufactured_goods\change.php 中的 id [重复]

    这个问题在这里已经有答案了 我的 PHP 代码有一个问题 显示 注意 未定义的索引 我确信它非常简单 因为我是初学者 所以我不太清楚到底出了什么问题 所以请帮助我 这是代码
  • AFNetworking 上传图片

    我看过一些例子 但我认为我的问题可能出在 PHP 中 我正在尝试使用 AFNetworking 将图像从 iPhone 上传到服务器 这是我的 obj c 代码 IBAction uploadButtonClicked id sender
  • Django:密码重置电子邮件主题行包含“example.com”

    我使用通用视图 django contrib auth views password reset 作为密码重置表单 原则上 这一切都有效 只是发送的电子邮件的主题行包含 example com 如 在 example com 上重置密码 所
  • 管理面板的 htaccess 重写规则

    我的网络应用程序中有这样的 url 模式 www mysitename com foldername controller method 所有请求的页面首先被重定向到根文件夹上的index php 然后处理请求的页面 但每当我进入管理面板
  • 从关系中合并 Laravel 中的集合

    假设我有 3 张桌子 Images Subject Style 关系是多对多 图像 主题 和多对多 图像 样式 现在我想做一些类似的事情 result subjectResult gt images gt merge styleResult
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 计算特定产品类别的购物车商品数量

    我试图仅从 WooCommerce 中的特定产品类别获取购物车中的商品数量 我正在为一家酒厂做一个网站 它有酒精和非酒精产品 所有葡萄酒都属于 葡萄酒 主类别或类别 ID 34 其下有许多子类别和产品 对于属于此类别的任何商品 我需要知道此
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4

随机推荐

  • 如何在 Perl 中使用反引号捕获两个不同变量中的 STDOUT 和 STDERR

    假设我想从带有反引号的脚本中运行外部程序 同时我想捕获 STDOUT 和 STDERR 但在两个不同的变量中 我怎样才能做到这一点 例如 如果我运行这个脚本 my cmd snmpwalk v version c community hos
  • python 只读类属性

    有没有办法在Python中创建只读类属性 前任 在Unity3d中你可以这样做 transform position Vector3 zero Vector3 zero 返回 Vector3 类的实例 其中 x y 和 z 均为 0 这与以
  • IDataErrorInfo:提交页面时进行验证

    我正在创建一个 WPF 应用程序 它将使用IDataErrorInfo数据验证 我的业务对象实现的 我一直在与这个演示来自博客文章 http www codegod de WebAppCodeGod WPF IDataErrorInfo a
  • 根接口属性无法通过 Html 助手中的父接口访问

    我觉得我在这里缺少一些基本的东西 我有2个接口 一种称为 IIdentABLE 它指定 Id 属性的存在 第二个实际上可以是任何可识别的东西 请参阅下面的代码 public interface IIdentifiable Guid Id g
  • 带进度条的 Tkinter GUI

    我有一个简单的 Tk GUI 和一个附加到按钮的函数中的长流程 我想要一个进度条 当我点击按钮时 就像它开始一个漫长的过程一样 我怎样才能做到这一点 这是我当前的代码 from tkinter import Button Tk HORIZO
  • Gradle 测试命令未运行任何测试

    我有一个可以在 Android Studio 上运行的简单测试实现 这个类位于我的项目的 src androidTest 目录中 应用程序测试 java public class ApplicationTest extends Applic
  • 通过开始和结束索引抓取 List 的一部分

    这可能吗 例如 如果我有 List
  • 使用 C、gcc、C99 和宏优化微控制器的简约 OOP

    我经常必须用 C 语言对微控制器进行编程 因为 C 编译器通常不可用 或者由于各种错误而无法编写极小的代码 但很多时候 OOP 语法糖 在使硬件程序封装得更清晰 易于维护方面非常方便 所以我想找出是否有一种方法可以在 C 中执行 OOP 语
  • Objective-C 如何检查字符串是否为空

    所以 我想检查我的数组中是否有该项目 clientDataArray objectForKey ClientCompany is nil temp clientDataArray objectForKey ClientCompany if
  • 如何用PHP生成随机密码?

    或者有没有自动生成随机密码的软件 只需构建一串随机数a z A Z 0 9 或者任何你想要的 直到所需的长度 这是 PHP 中的示例 function generatePassword length 8 chars abcdefghijkl
  • 为restify.js 实现基于令牌的身份验证的最佳方法是什么?

    我正在尝试使用restify js 构建一个RESTful api 但我不想将该api 暴露给所有人 我将使用基于令牌的身份验证 我脑子里的流程是这样的 不知道是否合理 用户将用户名 密码发送到 api 来获取令牌 此令牌应包含在调用所有其
  • Python 对新实例的交替引用

    这些天我一直在玩Python 我意识到Python如何将id 地址 分配给新实例 int和list 的一些有趣的方式 例如 如果我继续使用一个数字 或两个不同的数字 调用 id 函数 它会返回相同的结果 例如 gt gt gt id 123
  • 使用 JSON 键作为嵌套 JSON 中的属性

    我正在 python 2 7 中使用嵌套的类似 JSON 的数据结构 我与一些外国 perl 代码进行交换 我只是想以更Pythonic的方式 处理 这些列表和字典的嵌套结构 所以如果我有这样的结构 a x 4 y 2 3 a 55 b 6
  • 表格视图单元上的步进器(快速)

    我将步进器的出口和操作放入表格视图单元格中 并使用协议委托将其连接到表格视图 当我点击第一行中的步进器时 步进器值在第一行中正常显示 但它也出现在某个随机行中 如何解决这个问题 表格视图单元格 protocol ReviewCellDele
  • WPF 工具包数据网格 - 自定义选项卡

    我有一个包含 3 列的 WPF 工具包 DataGrid 只有第三列允许数据输入 前两列是静态的 文本描述 是否可以控制选项卡和导航 以便选项卡和上下左右按钮将忽略前两列并在第三列的范围内运行 您可以使用以下命令禁用前两列上的制表符IsTa
  • oracle FOR LOOP 不在 SYS_REFCURSOR 中迭代

    程序如下 打开游标 然后通过批量收集获取选择查询的输出 问题是所有 ID 都存储在批量收集中 但我无法使用批量收集变量作为输入来循环第二个选择查询 它只考虑第一个 ID 而不是全部 输出应该是 SYS REFCURSOR 请说明我在这里缺少
  • 使用layout/main.xml 文件将选项卡添加到Android 应用程序

    我从 Android 开始 想向现有应用程序添加选项卡 现在我只有一项活动 其布局是在 XML 文件中定义的 我现在想添加其他选项卡 我查了一下发现http developer android com resources tutorials
  • 如何让 Holo Light 主题在我的 Xamarin 应用程序中工作

    我正在尝试让我的应用程序使用 Holo Light 主题 我为 Holo 创建了一个自定义主题并将其放入 资源 values v11 Fsd Theme xml
  • 如何提取 docker 镜像的所有替代标签?

    我使用构建管道管理 gitlab 所有组件都封装在来自官方 gitlab 维护者的 docker 镜像中 每当我更新时 通常每周一次 我需要检查 gitlab gitlab runner helper 是否仍然适用于当前最新版本的 gitl
  • PhpMailer 不发送邮件 - TLS 错误?

    我在使用 phpmailer 发送电子邮件时遇到问题 发送电子邮件的代码是 mail User email protected cdn cgi l email protection mail Password My Password mai