今天出现了一个奇怪的问题,产品机A上有一个邮件服务器,产品机A和产品机B的java程序都是用A上的邮件服务器发邮件,但是测试发现,产品机B上的java程序发送邮件正常,而产品机A上的java程序发送不出去,更奇怪的是A上的php程序也能够发送邮件!

查到tomcat日志如下:
  1. javax.mail.MessagingException: 501 Domain address required: HELO
  2. at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1481)
  3. at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:917)
  4. at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:417)
  5. at javax.mail.Service.connect(Service.java:288)
  6. at javax.mail.Service.connect(Service.java:169)
  7. at
比较了A和B的java程序,完全一模一样。
查了半天百度,google都没有结果
最后找到了一个说法是因为hostname引起的,于是我用hostname命令查到了A的hostname是PRODA,而ping 它却是没有结果,看了一下/etc/hosts文件中,发现“127.0.0.1 PROD-A”,写多了一杠

 
改好之后再测试就能够发送了
我估计虽然传的是server的域名,但是mail.jar会先获取本机的hostname进行解析,解析不到就不发送HELO命令了,但是Server需要检测这个命令。而php的发邮件程序实现时不判断hostname就直接发送HELO命令,因此能够发送成功

解决发邮件出现“501 Domain address required: HELO”问题相关推荐

  1. 解决发邮件错误javax.mail.MessagingException: Could not connect to SMTP host

    用java实现发送邮件功能时报错 javax.mail.MessagingException: Could not connect to SMTP host Exception in thread & ...

  2. javaEmail发邮件是问号乱码,已解决

    寒假学习了ssm,就把之前看过的一个商城项目用ssm重构了. 然后在本地一切都正常,放到个人服务器上就凉了. 因为这个项目注册需要邮箱激活,然后就在发邮件的时候出了问题. 一.发送端口 因为源程序是用 ...

  3. 关于发邮件报错535 Error:authentication failed解决方法

    关于发邮件报错535 Error:authentication failed解决方法 参考文章: (1)关于发邮件报错535 Error:authentication failed解决方法 (2)ht ...

  4. java 发邮件 乱码_JavaMail发送中文邮件乱码的解决 | 学步园

    我们的程序经常会出现这样一个问题,在WinXp下测试是正常的,而到了服务器(Linux操作系统)上就出现这个问题. 1.    由于邮件我写的程序的邮件主题是写在配置文件(. properties)中 ...

  5. 利用jmail qq邮箱发邮件 报错 解决方法

    利用java的jmail,登录qq邮箱发邮件时遇到下面几个问题,分享一下解决方法. 1. qq需要使用ssl  解决方法:使用有ssl安全认证的代码 <span style="font ...

  6. 阿里云服务器不能发邮件解决方法

    特别注意阿里云的<25端口使用服务协议>:     我/我公司承诺并保证TCP 25端口仅用来连接第三方的SMTP服务器,从第三方的SMTP服务器外发邮件.如发现您使用本机IP直接SMTP ...

  7. 占书明:outlook发邮件时提示“出现意外错误”的原因及解决办法!

    占书明:outlook发邮件时提示"出现意外错误"的原因及解决办法! 有个使用者,在发送邮件时截了个图给我,如下"出现意外错误",便无法发送邮件: 使用环境:w ...

  8. log4j 发邮件(解决中文乱码)

    关于log4j发邮件的功能,就是在项目上线使用后,为了更好的维护系统,我们可以将记录项目情况的log以邮件形式发送给administor,及时了解系统遇到的问题.并且及时修正,更高效方便. 准备流程: ...

  9. 解决bugfree不能发邮件的问题!!

    公司bugfree邮件通知坏掉了,查了很多资料,解决方法都差不多,比如: 在安装过程或者通过编辑protected/config/main.php文件可以启用邮件通知功能. 我的路径是:C:\xamp ...

  10. Outlook发邮件时忘记写主题的解决方法

    用惯了Foxmail添加主题提示,在Outlook下两次发邮件忘记写主题了,实在不应该!分享一个解决方案. Outlook发邮件时忘记写主题的解决方法: 按ALT+F11进入VBA集成开发环境,在左上 ...

最新文章

  1. LLVM语法语义指令特性
  2. 2021.9.6 跑FICS【当时的经验】
  3. win10下硬盘安装CentOS7
  4. Aerospike系列:5:安装AMC
  5. USACO3.32Shopping Offers(DP)
  6. grep -v XXXXX
  7. 服务器登陆密码到期登不上去_英雄联盟手游注册系统炸服怎么回事?服务器瘫痪登不上解决方法[多图]...
  8. SAP配置webdynpro完全手册
  9. groovy环境搭建,配置报错
  10. 一口一口吃掉Struts(二)——STRUTS基本工作流程
  11. c语言根号sin60,用泰勒级数展开求sin60°的值C语言
  12. CCS6.0新建DSP_2833x工程文件详解
  13. 苹果退款_教程:在 iTunes 申请 App Store 退款
  14. 1.Diagno-基本概述
  15. GParted图形化工具对Linux磁盘分区扩容
  16. GLES2.0中文API-glBlendFunc
  17. 软考高级考完了,怎么评职称?
  18. 如何在PostgreSQL13和以下版本中使用lz4压缩文本和二进制数据
  19. JAVA开源工具大全
  20. K210M1 dock车牌识别

热门文章

  1. php+app接口返回json数据,PHP对接APP的接口类,可返回json数据,xml数据
  2. java给视频添加水印_用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)...
  3. 老版本xcode下载_下载xcode旧版历史版本
  4. json中保存数据与解析数据与python中json模块做对应关系
  5. python无法启动此程序因为_(python shell怎么用)为啥我按照python安装教程,总说无法启动此程序,因为计算机中丢失?...
  6. idea redis 插件_Redis客户端RDM收费后,还有那些开源的替代品呢?
  7. sqlserver功能选择_即将开课 | SQL Server 开发课程
  8. 设计一个服务器资源管理系统,基于虚拟化技术的服务器资源管理系统的设计与实现.pdf...
  9. CS224N笔记——高级词向量表示
  10. [转] Scala Try 与错误处理