Oracle11g oracle:UTL_SMTP-连接2个或多个变量时在邮件文本中忽略crlf

Oracle11g oracle:UTL_SMTP-连接2个或多个变量时在邮件文本中忽略crlf,oracle11g,Oracle11g,我正在使用UTL_SMTP,它工作正常(邮件正在传递),但在最终输出中我正在努力处理crlf行为。有关解释,请参见下面带有结果行为的伪代码。(实际代码位于存储过程中的游标内) --好榜样 p|body:=p|body |介绍文本行0:'| | crlf | | crlf p_body := p_body||'Some text line1: '||nvl(curs_rec.cursor_value1,0)||crlf; p_body := p_body||'Some text l

我正在使用UTL_SMTP,它工作正常(邮件正在传递),但在最终输出中我正在努力处理crlf行为。有关解释,请参见下面带有结果行为的伪代码。(实际代码位于存储过程中的游标内)

--好榜样 p|body:=p|body |介绍文本行0:'| | crlf | | crlf

    p_body := p_body||'Some text line1: '||nvl(curs_rec.cursor_value1,0)||crlf;
    p_body := p_body||'Some text line2: '||curs_rec.cursor_value2||crlf;
    p_body := p_body||'Some text line3: '||curs_rec.cursor_value3||crlf;
    p_body := p_body||'Some text line4: '||curs_rec.cursor_value4||crlf;
在这方面的预期结果

简介文本第0行:

某些文本行1:value1

某些文本行2:value2

某些文本行3:value3

某些文本行4:value4

--奇数行为示例(唯一的区别是第2行连接了2个变量,而不是第1行)

不期望的结果

简介文本第0行:

一些文本行1:value1其他文本值5一些文本行2:value2一些文本行3:value3一些文本行4:value4


好消息是,价值5被包括在内。坏消息是所有内容都写在一行上,而不是单独一行。我让crlf工作的唯一方法是与| | crlf | | crlf;但这会导致输出之间出现空白行。(我不希望出现这种情况)我尝试过以各种组合通过Chr(13)| | Chr(10)。我曾经使用_char来消除任何隐含的转换问题,但没有用。在一行上串联两个变量是否会导致忽略后续crlf?(这就是它似乎正在发生的情况)如果是,如何避免这种行为?

使用什么MIME类型?电子邮件是以HTML格式而不是文本格式阅读的吗?嗨,我在crlf之前添加了tab-CHR(9),这就解决了这个问题。即,p|body:=p|body||'Some text line1:'| | nvl(curs|u rec.cursor|u value1,0)| |附加文本'| | curs|u rec.cursor u value5 | CHR(9)| crlf;
p_body := p_body||'Intro text line0: '||crlf||crlf;
    p_body := p_body||'Some text line1: '||nvl(curs_rec.cursor_value1,0)||' additional text '||curs_rec.cursor_value5||crlf;
    p_body := p_body||'Some text line2: '||curs_rec.cursor_value2||crlf;
    p_body := p_body||'Some text line3: '||curs_rec.cursor_value3||crlf;
    p_body := p_body||'Some text line4: '||curs_rec.cursor_value4||crlf;