http://zouhuajian01.blog.163.com/blog/static/117698772011813481028/
今天部署了个james邮件服务器,没有后在windows上正常,可是到linux就有问题了。一看日志,到了个501错。
javax.mail.MessagingException: 501 5.0.0 HELO requires domain address 。
查了查,原来是
系统利用 mail.jar 组件发送邮件,
Javamail 在提取本地 hostname 的时候会 dig 该 hostname ,然后以该 ip 发送邮件。
由于 hostname 对应的 ip 地址, linux 无法解析(如果是 windows 则无这个问题, windows 利用 netbios 协议去获得该主机的 ip 地址)到本机 hostname 的 ip ,导致 javamail 无法调用发送 ip 。
解决办法:
在有利用到 javamail 的所有主机重写 hosts 文件或者在 dns 服务器上设置该主机名的 ip 就可以解决这个问题。
如自己在code里面set写localhost:
MimeMessage message = null;
props.put("mail.smtp.host", "mail.pccw.com");
props.put("mail.smtp.localhost", "localHostAdress");
props.put("mail.smtp.port", "25");
props.put("mail.smtp.auth", "false");
message = new MimeMessage(sendsession);
如上面加背景色的代码就可以解决这个问题。
PS:
这个错误的javamail 在发送helo 命令的时候找不到 hostname,直接发送helo命令
所以postfix返回了 501 Syntax: HELO hostname
分享到:
相关推荐
功能说明: 环境说明: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数据库:SqlServer2008r2(数据库版本无限制,都可以导入) 开发模式:mvc。。。
labview程序代码参考学习使用,希望对你有所帮助。
大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求 PHP7.4+ MYSQL5.6+ REDIS(可选) 安装方法 composer install 打开安装向导安装 http://您的域名/install 特色 1、缓存层增加时间与批量like删除 2、API产品导入方便对接其他系统 3、增加控制台命令行,命令行生成语言翻译包 4、后台一键开启自动翻译模式,支持全球133中语言,由于google代理翻译需要收费,这个功能需要付费。 5、可选购物车与ajax修改购物车产品 6、一键结算checkout 7、增加网站前台自定义路由 方便seo 更新日志 v3.9.7 集成鱼码支付接口,方便个人站长即使收款到账使用 v3.9.3 更新内容 1:增加ueditor与旧编辑器切换 2:增加可视化布局插
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频