EBS12.1.3往smtp邮件服务器发送邮件的bug

来源:互联网 发布:诚信网络平台 编辑:程序博客网 时间:2024/05/19 16:21
 
EBS12.1.3往smtp邮件服务器发
 

这个EBS发送邮件的问题,断断续续弄了两个月,一直未能得到解决。

说一下我们公司的环境。

EBS r12.1.3 + Microsoft exchange2013的smtp服务器

配置好了workflow邮箱发送后,当发送一封test邮件。

select * from apps.wf_notifications order by begin_date desc;

--这里我们留意mail_status,是SENT的话就代表发送成功了的。

但是我这里是,给weiyuan.feng@dji.com发送邮件,是成功的,而给8852040@163.com发送邮件,是failer的。

为什么呢?难道我们的邮件服务器不能往外发送邮件?是不是Linux没有加微软的域的问题呢?

Linux是没有域的概念的,所以不能加到微软的域。

后面得知,不用加域,也可以正常使用exchange邮件服务器的。


在Linux上可以远程telnet到邮件服务器的25端口,再用base64加密过的账户密码登陆,是可以正常发送邮件的,无论是内网还是外网邮件。

参考我的博客:http://blog.csdn.net/whiteoldbig/article/details/24420617

所以不存在说,Linux没有加域就用不了exchange邮件服务器的问题。


根据MOS文档753845.1,也是测试从Linux往smtp邮件服务器telnet来发送邮件。但是这个文档中,并不提到log in,也就是说,这要求smtp服务器支持匿名转发(或匿名中继)的功能。

在咨询了微软供应商后,知道我们的邮件服务器因为安全的考虑,并没有开通匿名转发的功能,也不能只为几个账号开通匿名转发,要开得一起开。


那究竟我们的EBS r12.1.3往smtp发送邮件,是不是用到匿名转发呢?

官方说的不是,而且在配置页面,也让我们填写了账户与密码。

但让人十分怀疑的是,EBS前台发送邮件,如果是发送到weiyuan.feng@dji.com是成功的,发送到8852040@163.com是不成功的。这跟非log in 来telnet到邮件服务器发送邮件的情况,是很相似的。


在与Oracle工程师shuangfei.wang反复沟通后,以及参考了以下文档。

R12 Notification Mailer Smpt Auth Does Not Work (Doc ID 1488190.1)
Workflow Mailer Not Working With Authentication - 451 4.7.0 Timeout Waiting For Client Inputresponse String:Is Auth Supported: false (Doc ID 1486750.1)
Workflow Notification Mailer Is Not Sending Email Notifications Or Goes Down When Authentication is Enabled (Doc ID 1528345.1)


我们知道,这也有可能是一个BUG,需要打补丁。

[appl@erp ~]$ cd $JAVA_TOP/oracle/apps/fnd/wf/mailer

[appl@erp mailer]$ adident Header SMTPUtils.class

SMTPUtils.class:

$Header SMTPUtils.java 120.0.12010000.3 2010/04/07 11:08:29 sstomar noship $

cd $JAVA_TOP/oracle/apps/fnd/wf/mailer
adident Header SMTPUtils.class
打补丁16559330
所以我还是强烈建议您打一下补丁16559330,将SMTPUtils.class 升级版本到120.0.12010000.7


在用autopatch打了补丁后,就能顺利发送邮件了。
问题得到解决,非常谢谢DBA可口可乐以及oracle工程师shuangfei.wang的大力帮助。
 
摘自:http://blog.csdn.net/whiteoldbig/article/details/27349837
0 0