您的位置:首页 > 编程语言 > PHP开发

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

2014-08-11 15:52 316 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: