Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >PHP邮件程序SMTP无法工作

PHP邮件程序SMTP无法工作
EN

Stack Overflow用户
提问于 2017-05-26 01:28:02
回答 2查看 2.5K关注 0票数 0

我已经将XAMPP中的php.ini和sendmail.ini配置为发送电子邮件及其工作正常。现在,当我将php中的代码更改为使用SMTP时,它无法工作.它使用与XAMPP相同的主机、相同的smtpsecure、相同的端口、相同的电子邮件,而且它不能工作。

代码语言:javascript
代码运行次数:0
复制
[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=testowemailer93@gmail.com
auth_password=1234
force_sender=testowemailer93@gmail.com
php.ini
[mail function]
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = testowemailer93@gmail.com
sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t"
For Win32 only.
http://php.net/sendmail-from
sendmail_from = testowemailer93@gmail.com

and my php code

代码语言:javascript
代码运行次数:0
复制
<?php
$mail = new PHPMailer;
$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
$mail->Port = 587;
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'testowemailer93@gmail.com';                 // SMTP username
$mail->Password = '1234';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->setLanguage('pl', './vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php');
$mail->setFrom("testowemailer93@gmail.com");
$mail->addAddress('xx.yyy@gmail.com');     // Add a recipient // Name is optional
$mail->IsHTML(true);
$mail->Subject = "Prośba o dostęp demo";
$mail->Body = "<p>Wysłano z formularza kontaktowego na stronie bhp.xyz.pl.</p>
</p>";
if(!$mail->Send()){
    echo "\n"."Mailer Error: " . $mail->ErrorInfo;
}
else{
    echo "Message sent!";
}
?>

错误:服务器->客户端: 220 smtp.gmail.com ESMTP f40sm329317edb.7 - gsmtp客户端->服务器: EHLO PhpStorm 2017.1 SERVER -> CLIENT: 501-5.5.4 HELO/EHLO参数"PhpStorm 2017.1“无效,关闭连接。501 5.5.4 https://support.google.com/mail/?p=helo f40sm329317edb.7 - gsmtp SMTP错误: EHLO命令失败: 501-5.5.4 HELO/EHLO参数"PhpStorm 2017.1”无效,关闭连接。501 5.5.4 https://support.google.com/mail/?p=helo f40sm329317edb.7 - gsmtp客户端->服务器: HELO PhpStorm 2017.1服务器->客户端: SMTP错误: HELO命令失败: SMTP通知:->在检查是否连接SMTP错误:无法连接到SMTP主机时捕获。SMTP连接()失败。https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting邮件发送错误: SMTP连接()失败。https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-26 01:53:50

我想出来了..。在这样的事情上花费了太多的时间。我在XAMPP中添加了虚拟主机:

代码语言:javascript
代码运行次数:0
复制
<VirtualHost *:80>
 ServerAdmin webmaster@localhost

 DocumentRoot "D:/xampp/htdocs/BHP"
 ServerName bhpsmart.com
 SSLEngine on
 SSLCertificateFile "conf/ssl.crt/server.crt"
 SSLCertificateKeyFile "conf/ssl.key/server.key"
 <Directory "D:/xampp/htdocs/BHP">
  Options All
  AllowOverride All
  Order allow,deny
  Allow from all
  Require all granted
 </Directory>

 ErrorLog logs/platforma-error.log
 LogLevel info
 CustomLog logs/platforma.log combined
</VirtualHost>

它们的重点是:

代码语言:javascript
代码运行次数:0
复制
SSLEngine on
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"

现在它正常工作了。

票数 0
EN

Stack Overflow用户

发布于 2017-05-26 01:50:23

这实际上是PHPStorm中的一个bug,我报告了这里

在PHPMailer 6.0分支中有一个自动的解决方法,但是您应该能够通过将Hostname属性设置为有效的东西来实现它,例如:

代码语言:javascript
代码运行次数:0
复制
$mail->Hostname = 'localhost.localdomain';

Hostname属性是Host属性中给服务器的HELO/EHLO命令中显示的名称--不要混淆这两个属性!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44198105

复制
相关文章
mybatis的逆向工程_mybatis逆向工程多表查询
逆向工程字面意思就是反向生成工程,和hibernate一样mybatis也有自己的逆向工程工具,hibernate的逆向生成我没有做过,不过我猜大概都已样,再说,hibernate的现在使用很少了,到了使用的时候再去用吧,使用逆向工程时,需要注意的是表之间的关系无法映射出来!也就是说mybatis的逆向工程生成的都是单表操作, 1:mybatis逆向工程开发文档:
全栈程序员站长
2022/09/24
6760
mybatis的逆向工程_mybatis逆向工程多表查询
mybatis逆向工程
就是我们可以根据数据库表,自动生成javabean,mapper接口和其对应的maaper.xml文件。
西西嘛呦
2020/08/26
5430
mybatis逆向工程
逆向工程——栈[三]
栈是计算机科学里最重要的且最基础的数据结构之一。 从技术上讲,栈就是CPU寄存器里面的某个指针所指向的一片内存区域。这里所说的某个指针通常位于x86/x64平台的ESP寄存器/RSP寄存器,以及ARM平台的SP寄存器。 操作栈最常见的指令是PUSH和POP,在 x86 和 ARM Thumb 模式的指令集里都有这两条指令。 PUSH指令会对ESP/RSP/SP寄存器的值进行减法运算,使之减去4(32位)或8(64位),然后将操作数写到上述寄存器里的指针所指向的内存中。 POP指令是PUSH的逆操作:他先从栈指针(Stack Pionter,上面三个寄存器之一)指向的内存中读取数据,用以备用(通常是写到其他寄存器里面),然后再将栈指针的数值加上4或8. 在分配栈的空间之后,栈指针,即Stack Pointer所指向的地址是栈的底部。PUSH将减少栈指针的数值,而POP会增加它的数值。栈的“底”实际上使用的是整个栈的最低地址,即是整个栈的启始内存地址。 ARM的栈分为递增栈和递减栈。递减栈(descending stack)的首地址是栈的最高地址,栈向低地址增长,栈指针的值随栈的增长而减少,如STMFA/LMDFA、STMFD/LDMFD、STMED、LDMEA等指令,都是递增栈的操作指令。
HACK学习
2019/08/05
8940
mybatis逆向工程
mysql-connector-java-5.1.28-bin.jarjava连接mysql包
用户10325771
2023/03/14
3980
mybatis逆向工程
mybatis逆向工程
mybatis逆向工程的作用是根据数据库里的表结构自动生成实体类,映射文件,和接口。 和hibernate的自动建表相反。
Mshu
2018/10/31
1.1K0
逆向工程----MBG
逆向工程 逆向工程概念 MBG概念 步骤1: 导入相关依赖 引入mybatis-generator.xml配置,建议从官网文档粘贴后,进行配置修改 使用代码运行,也可以用命令行 效果 小tips 使用插件方式启动mbg,需要在build标签中进行设置,以及引入最开始给的插件依赖 MBG的具体使用看这篇文章 逆向工程概念 ---- MBG概念 ---- 步骤1: 导入相关依赖 <!--mybatis的逆向工程--> <dependency> <
大忽悠爱学习
2021/11/15
3930
APK逆向工程
APK(android Application PacKage)文件是安卓app的安装文件,其实就是一个zip或rar压缩包,把apk后缀改为zip,即可解压得到一堆安卓相关文件。
李小白是一只喵
2020/11/24
1.2K0
APK逆向工程
漫谈逆向工程
逆向工程,原名Reverse Engineering,简称RE。关于其书面介绍我就不复制粘贴百度百科了,简而言之就是从发布的产品中反向分析其程序逻辑和算法——基于各种目的。
evilpan
2023/02/12
1.1K0
漫谈逆向工程
mybatis逆向工程
三、点击maven,在点击Plugins,找到mybatis-generator:generate 双击即可运行!
栖西
2023/10/17
2270
mybatis逆向工程
Android逆向工程
在Root前提下,我们可以使用Hooker方式绑定so库,通过逆向方式篡改数值,从而达到所谓破解目的。然而,目前无论是软件加固方式,或是数据处理能力后台化,还是客户端数据真实性验证,都有了一定积累和发展,让此“懒技术”不再是破解修改的万金油。再者,阅读汇编指令,函数指针替换,压栈出栈等技术需要一定技术沉淀,不利于开发同学上手。 两年前,也是因为懒,很懒,非常懒,堆积了足够的动力,写了一个基于人工模拟方式,对一个特定规则的游戏进行暴力破解。我们都知道,人工模拟方式,绕过了大量防破解技术,只要还是人机交互模式,
xiangzhihong
2018/02/05
1.2K0
Android逆向工程
mybatis逆向工程
pom文件引入插件 <plugin> <!--Mybatis-generator插件,用于自动生成Mapper和POJO--> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <!--配置文件的位置--> <co
Ssss
2020/03/26
4960
mybatis的逆向工程怎么实现_mybatis逆向工程原理
mybatis,一个相对于hibernate的轻量级DAO框架,它的逆向工程可以很方便的从数据库到生成对应的entity和mapper接口。
全栈程序员站长
2022/09/24
5990
mybatis的逆向工程怎么实现_mybatis逆向工程原理
mybatis逆向工程配置文件_mybatis逆向工程多表查询
mybatis逆向工程很早之前有用过,但是一直没有整理使用步骤,今天来回顾下在idea下springboot中整合mybatis逆向工程的实现步骤
全栈程序员站长
2022/09/27
3340
mybatis逆向工程配置文件_mybatis逆向工程多表查询
Mybatis--逆向工程
<generatorConfiguration> <!-- targetRuntime="MyBatis3Simple":生成简单版的CRUD MyBatis3:豪华版 --> <context id="DB2Tables" targetRuntime="MyBatis3"> <!-- jdbcConnection:指定如何连接到目标数据库 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver"
SuperHeroes
2018/05/30
5880
MyBatis逆向工程 Generator
正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程 的。 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: Java实体类 Mapper接口 Mapper映射文件 添加依赖和插件 pom <!-- 依赖MyBatis核心包 --> <dependencies> <dependency> <groupId>org.mybatis</groupId> <ar
鱼找水需要时间
2023/02/16
4580
MyBatis逆向工程 Generator
逆向工程——汇编基础[二]
除了显示地操作堆栈(使用push和pop指令)之外,很多指令也需要使用堆栈,如INT、CALL、LEAVE、RET、RETE、IRET等等。配对使用上述指令并不会造成什么问题,然而,如果你打算使用LEAVE、RET、RETE、IRET这样的指令实现跳转(比JMP更为麻烦,然而有时,例如在加密软件中,或者需要修改调用者状态时这是必要的)的话,那么要搞清楚他们做的到底是什么,并且精确而了解自己要做什么。
HACK学习
2019/08/05
1.2K0
逆向工程——汇编基础[一]
汇编语言是一种最接近计算机核心的编码语言。不同于任何高级语言,汇编语言几乎可以完全和机器语言一一对应。 汇编语言就是机器语言的一种可以被人读懂的形式,只不过它更容易记忆。
HACK学习
2019/08/05
1.5K0
MyBatis的逆向工程
MyBatis是目前很流行的持久层框架,很多企业都在采用。但是其复杂繁琐的配置,重复性的实体类创建等等,消耗了程序员大量的精力,同时有些地方如果一个细小的疏忽,可能导致最终功能运行失败。例如:在几十个字段的表中,某一列的列名配置疏忽。基于此,mybatis 推出了一套 jar 包,可以依据我们设计好的数据库表,自动生成 pojo、mapper 以及mapper.xml。有了逆向工程,便大大缩减了我们的开发时间。
宋先生
2019/07/18
4550
mybatis与其逆向工程
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。myBatis在目前在SSM框架中做为持久层在使用。
Tim在路上
2020/08/04
3690
Mybatis的逆向工程
我这里使用的的eclipse插件的方式,来逆向生成代码。给出配置文件 generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCT
用户5927264
2019/07/31
3480

相似问题

逆向工程

12

逆向工程?

31

对安装程序进行逆向工程

20

逆向工程: C#字典的表示?

30

逆向工程Flash

83
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文