用ODI邮件工具发送不宜刊印的字符及utf-8字符_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4176 | 回复: 0   主题: 用ODI邮件工具发送不宜刊印的字符及utf-8字符        下一篇 
yanpeng
注册用户
等级:上等兵
经验:127
发帖:68
精华:0
注册:2011-12-26
状态:离线
发送短消息息给yanpeng 加好友    发送短消息息给yanpeng 发消息
发表于: IP:您无权察看 2011-12-26 12:57:49 | [全部帖] [楼主帖] 楼主

ODI邮件工具发送不宜刊印的字符及utf-8字符

本文档的说明适用于:Oracle数据加载工具 – 版本:4.1.01.05及以上【发行版:4.1.01及以上】

本文档的说明适用于所有平台

问题描述:

当使用ODI邮件发送工具发送邮件时,接收者收到的内容中有的字符被屏蔽了,有的字符被替换成别的字符(如回车符被替换成”=20”)

原因:

(这种情况与ODI软件本身无关,而与邮件提供商的配置有关。)STMP服务编码的字符不能被POP客户端辨认

解决方案

有两种解决方案

1.       修改POP客户端配置

2.       编写一个特殊的Jython邮件发送程序来识别编码字符,Jython程序如下所示:

import smtplib
import string
myCharset = 'iso-8859-1'
mySMTPServer = 'mail.mymail_to.com'
myFromAddress = 'my Application Name <mail_from@mymail_from.com>'
myAddressList = ['mail_to1@mymail_to.com;mail_to2@mymail_to.com']
myHTMLMessage = '''From: %s\rTo: %s\rSubject: Here is the email subject\rMIME-Version: 1.0\rContent-Type: text/html; charset=%s\rContent-Transfer-Encoding: 8bit\rContent-Disposition: inline\r\r\r''' % (myFromAddress, myAddressList, myCharset)
myMsgBody = 'Here is the 1st line of the message \n and here the second \n ...'
myHTMLMessage = %s\n%s' % (myHTMLMessage, myMsgBody)
myConnection = smtplib.SMTP(mySMTPServer)
myConnection.sendmail('From: %s' % myFromAddress, 'To: %s' % myAddressList, myHTMLMessage)
myConnection.quit()


说明:'sendmail'是ODI安装库'/lib/scripting/Lib'中类'smtplib.py'的一个方法

以下是一个应用于不能修改POP客户端和SMTP配置的中文内容的具体例子。

....... 
myCharset = 'utf-8'
.......
myConnection.sendmail('From: %s' % myFromAddress, 'To: %s' % myAddressList, myHTMLMessage.encode('utf-8')) 




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论