使用UTL_SMTP发送中文邮件及使用UTL_TCP从附件服务器获取中文附件
先上最重要的干货
发送邮件正文及主题的时候一定要使用convert重新编码
主题:
utl_smtp.write_raw_data(l_mail_conn,
utl_raw.cast_to_raw(convert('Subject:' || p_subject || utl_tcp.crlf,
'ZHS16GBK')));
正文内容:
utl_smtp.write_raw_data(l_mail_conn,
utl_raw.cast_to_raw(convert(p_text_msg,
'ZHS16GBK')));
附件类型及头信息
utl_smtp.write_raw_data(l_mail_conn,
utl_raw.cast_to_raw(convert('Content-Type: ' || p_attach_mime || '; name="' ||
p_attach_name || '"' || utl_tcp.crlf,
'ZHS16GBK')));
附件名称
utl_smtp.write_raw_data(l_mail_conn,
utl_raw.cast_to_raw(convert('Content-Disposition: attachment; filename="' ||
p_attach_name || '"' || utl_tcp.crlf || utl_tcp.crlf,
'ZHS16GBK')));
附件路径:
l_file := convert(l_file,
'ZHS16GBK');
(顺便鄙视一下博客园,作为一个标榜为技术博客的园子,竟然对附件的支持这么弱,仅IE能下载,chrome和ff都不能下载。并且邮件链接地址还是我自己用F12获取的,不知道是不是我不会用。)
参考资料:
Email From Oracle PL/SQL (UTL_SMTP)
Sending Mail with Multiple Attachment In PL/Sql(发送邮件带多个附件)
使用UTL_SMTP发送中文邮件及使用UTL_TCP从附件服务器获取中文附件的更多相关文章
- 利用Oracle数据库的UTL_SMTP发送HTML 邮件
Ok, that looks hard, but if you use this procedure I wrote, its really quite easy, it does all of th ...
- 使用Quartz框架定时发送预警邮件
1. Quartz定时发送预警邮件 1.1. 需求及实现思路 定时查询库存预警信息,一旦存在库存预警的商品,则发邮件通知相关人员 1.2. Quartz框架 Quartz是OpenSymph ...
- Oracle PLSQL通过SMTP发送E-MAIL邮件代码
登录到SMTPserver发送邮件,支持HTML CREATE OR REPLACE PROCEDURE send_mail( p_recipient VARCHAR2, -- 邮件接收 ...
- 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】
一.邮件发送 1.邮件发送使用SMTP协议或者IMAP协议,这里使用SMTP协议演示. SMTP协议使用的端口号:25 rfc821详细记载了该协议的相关信息 (1)使用telnet发送邮件(使用12 ...
- python发送各类邮件的主要方法
更多详见: http://www.w3cschool.cc/python/python-email.html python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法 ...
- 九、Python发送QQ邮件(SMTP)
看了廖雪峰老师的教程: 一封电子邮件的旅程就是 发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人 ...
- javaMail 邮件发送和接收示例,支持正文图片、html、附件(转)
转自:https://blog.csdn.net/star_fly4/article/details/52037587 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文 ...
- (转)Django发送html邮件
本文转自http://blog.csdn.net/yima1006/article/details/8991145 send_mail(subject, message, from_email, re ...
- .net 发送qq邮件
最近开发一个项目,需要给客户发送报告邮件,在开发中遇到本地调试发送邮件一切正常,但当部署到服务器上的时候,一直返回“发送失败”,在此记录,以免以后采坑 webapi 端代码: /// <summ ...
随机推荐
- ACM题目————A Knight's Journey
Description BackgroundThe knight is getting bored of seeing the same black and white squares again a ...
- cnats 使用
1. 准备 yum install cmakeyum install gcc gcc-c++yum install ncurses ncurses-develyum install openssl o ...
- 20145335郝昊《网络攻防》Exp5 MS08_067漏洞测试
20145335郝昊<网络攻防>Exp5 MS08_067漏洞测试 实验内容 了解掌握metasploit平台的一些基本操作,能学会利用已知信息完成简单的渗透操作. 漏洞MS08_067: ...
- Android实践项目汇报(三)
Google天气客户端 本周学习计划 调试代码使之成功运行并实现天气预报功能. 实际完成情况 由于google取消api接口服务,天气源的传输.所以我换了一个使用 haoserver API接口的程序 ...
- BZOJ5131: [CodePlus2017年12月]可做题2
BZOJ没有题面,差评 洛谷的题目链接 题解 其实这题很久之前就写了,也想写个题解但是太懒了,咕到了今天 在typora写完题解不想copy过来再改格式了,于是直接贴截图qwq #include &l ...
- NS3 使用NS3工具PyViz
官方文档 跑了一个样例(first.py): 由于 NetAnim 对我实在是有点不友好,在 PyViz 和 NetAnim 之间,我倾向前者.后者需要生成.xml文件,相比前者较为麻烦. 安装过程: ...
- React Native 的组件之底部导航栏 TabBarIOS(一)
import React,{Component}from 'react'; import { AppRegistry, StyleSheet, Text, View, TabBarIOS, } fro ...
- Python的函数参数传递
a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun(a) print a # [1]
- mysql 开启远程访问
# vi /etc/mysql/my.cnf修改 bind-address = 127.0.0.1 为 bind-address = 0.0.0.0 修改完成后重启mysql服务 # sudo / ...
- Python day19 模块介绍3(sys,json,pickle,shelve,xml)
1.sys模块 import sys sys.path()#打印系统path sys.version()#解释程序版本信息 sys.platform()#系统平台 sys.exit(0)#退出程序 c ...