首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows中是否同时需要CHR(10)和CHR(13)?

在windows中是否同时需要CHR(10)和CHR(13)?
EN

Stack Overflow用户
提问于 2012-07-24 04:14:41
回答 2查看 20.4K关注 0票数 3

我必须修复应用程序中的问题。该应用程序是部署到应用程序服务器的Oracle表单。流程末尾的表单是按下一个按钮,然后发送一封电子邮件。在按钮代码的末尾,它有一个PL/SQL代码,它调用C:\内部的CMD文件,当PL/SQL代码调用CMD文件时,它传递了3个参数,它们是字符串变量。我对第三个有问题。

这是第三个参数的示例:

'**请假**'||chr(10)||

代码语言:javascript
复制
        '**********************'||chr(10)||chr(10)||

        '** Notice: Forward this mail to example@example.com'||chr(10)||

      '           stating whether the request is approved or rejected'||chr(10)||chr(10)||

        'Request Number   : '||:peticiones_vacaciones.codigo||chr(10)||

        'Date of Request  : '||to_char(:peticiones_vacaciones.fecha_peticion,'dd/mm/yyyy')||chr(10)||chr(10)|| 

cmd文件调用Vbscript,后者创建Outlook对象并将第三个变量作为HTML正文传递。

所有这一切的问题是,当有人在电子邮件正文中收到这封电子邮件时,只能看到电子邮件正文的第一行,即**假期请求**,正文的所有其他部分都丢失了。

我发现在使用vbscript的windows中,必须将CHR(10)和CHR(13)都放在一行的末尾?

这是真的吗?这会是我的问题所在吗?

EN

回答 2

Stack Overflow用户

发布于 2012-07-24 04:23:05

电子邮件标准(RCF2822)规定,无论是源平台还是目标平台,都必须使用回车符和换行符(也称为CRLFchr(13)+chr(10))分隔各行。这不是windows的问题。

通常,分隔标题时CRLF是最重要的,但它进一步将单行文本的长度限制为不超过998个字符,并且最好不超过78个字符(不含CRLF字符的1000、80)。

在RFC2822第2.3节中,它进一步声明主体只能包含CRLF,它们不能独立出现,因此很可能邮件基础结构的某些部分在第一个chr(10)处被截断。如果你想在正文中单独包含这样的字符,你需要使用不同形式的内容编码...例如,base64 (但这超出了您所要求的范围--我并不建议将其作为解决方案;)

话虽如此..。如果上面的代码是VBScript,那么应该使用&将两个字符串concatenate在一起(而不是||)。如果是plsql脚本,您是否确认该语句的输出是大量文本,而不仅仅是第一个字符串?

票数 4
EN

Stack Overflow用户

发布于 2012-07-24 04:20:34

电子邮件标准指定行应以CR/LF结尾(chr(13)/chr(10))。请参阅https://www.rfc-editor.org/rfc/rfc2822#section-2.1

通常,Windows文本文件遵循相同的格式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11619820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档