Est à la fois CHR(10) et CHR(13) nécessaires dans windows?
J'ai à résoudre un problème dans une application. L'application est un Oracle Forme déployée sur un serveur d'application. La forme à la fin est le processus qui consiste à appuyer sur un bouton est supposé envoyer un e-mail. À la fin du code dans le bouton, il a un code PL/SQL qui appelle un fichier CMD à l'intérieur de C:\ Si le code PL/SQL appelle le fichier CMD il est passé à 3 arguments qui sont des variables de chaîne de caractères. J'ai un problème avec le troisième.
ceci est un exemple de la 3ème argument:
'** DEMANDE de congé **'||chr(10)||
'**********************'||chr(10)||chr(10)||
'** Notice: Forward this mail to [email protected]'||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)||
Le fichier cmd appelle un Vbscript qui crée un objet Outlook et passe à la troisième variable comme un corps HTML.
Le problème, c'est que lorsque quelqu'un reçoit cet e-mail dans le corps de l'e-mail sera seulement voir la première ligne qui est ** DEMANDE de congé ** tous les autres partie du corps est manquant.
J'ai trouvé que dans windows avec vbscript, vous devez mettre les deux CHR(10) et CHR(13) à la fin d'une ligne ???
Est-ce vrai ? Peut-être cela le problème dans mon cas ?
OriginalL'auteur Alexandros | 2012-07-23
Vous devez vous connecter pour publier un commentaire.
L'e-mail standard (RCF2822) dit que les lignes doivent être séparés par un retour chariot et un saut de ligne (aka
CRLF
, ouchr(13)+chr(10)
), peu importe la source ou la destination de la plateforme [ie. ce n'est pas un windows problème].Généralement CRLF est plus important lorsque séparant les en-têtes, mais elle limite encore plus la longueur d'une seule ligne de texte pour pas plus de 998 caractères, et de préférence pas plus de 78 caractères (1000,80 sans les caractères CRLF).
Dans RFC2822 la Section 2.3, il déclare en outre que le corps ne doit contenir que des
CRLF
ensemble, ils ne doivent pas apparaître indépendamment donc il est fort probable que certains éléments de l'infrastructure de messagerie est tronquer à cette premièrechr(10)
. Si vous vouliez inclure de tels caractères dans le corps seul, vous devrez utiliser une autre forme de codage de contenu...base64
par exemple (mais c'est hors de portée de ce que vous me demandez - je ne dis pas que comme une solution ;))Tout ce que dit... si votre code ci-dessus est VBScript, vous devriez être en utilisant
&
à concaténer deux chaînes (pas||
). Si c'est plsql script, avez-vous vérifié que la sortie de cette déclaration est d'une grande quantité de texte et pas seulement la première chaîne?j'ai trouvé une solution à mon propre à la fin de ce code est un code HTML donc je l'ai remplacé tous les chr (10) & (13) avec des <br> je peux donc en forme mon texte à l'aide de balises html depuis html a été le résultat après toutes les
OriginalL'auteur Rudu
L'e-mail normes de préciser que les lignes doivent se terminer par CR/LF (chr(13)/chr(10)). Voir http://tools.ietf.org/html/rfc2822#section-2.1
En général Windows fichiers texte suivent le même format.
OriginalL'auteur Mark Ransom