在 COBOL 中发送邮件时附加文件

Attaching a File while sending mail in COBOL

我有一个 COBOL 批处理程序,我可以在工作完成后向 ID 发送邮件通知,但是,我还想在已处理文件的邮件中添加附件。

以下代码附加另一封邮件作为附件。

HELO SANTAANA
MAIL FROM:<abc@somting.com>
RCPT TO:<abc@something.com>
DATA
From: LandT P2P - LO <abc@something.com>
To: abc@something.com
Subject: File processed - Price_Change_10-27-15 07-08-44
MIME-VERSION: 1.0
CONTENT-TYPE: MULTIPART/MIXED;name="Price_Change_10-27-15.csv"
CONTENT-DISPOSITION: ATTACHMENT;
FILENAME="Price_Change_10-27-15 07-08-44.csv"

注意:我也试过使用 SMTP,但还是不行

这是我通过 运行 此代码收到的邮件示例。

如果您从 Cobol 程序中生成电子邮件的文本,这听起来像是,您需要附加另一个部分,指定 Content-Type 和 Content-Disposition、文件名和编码,然后按照它带有正确编码的数据,类似于:

Content-Type: application/xml; name="Price_Change_10-27-15 07-08-44"
Content-Disposition: attachment; filename="Price_Change_10-27-15 07-08-44"
Content-Transfer-Encoding: base64

UEsDBBQABgAIAAAAIQDfrfoCnAEAAEcGAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
... and so on ...

我确实注意到你的那些标签的内容是大写的,这可能是个问题。 RFC1341 将它们指定为 "multipart/mixed" 和 "attachment" 等等。可能是你的大小写混合问题让你搞砸了。

CONTENT-TYPE: MULTIPART/MIXED;name="Price_Change_10-27-15.csv"
CONTENT-DISPOSITION: ATTACHMENT;
FILENAME

甚至比自己生成更容易,您是否看过 Lyonel B. Dyck 的优秀 XMITIP 包,它为您管理所有这些,您编写一些配置臂来控制它,您可以轻松地从与任何其他 Rexx 一样的 Cobol 程序。或者您可以将它作为一个单独的步骤添加到作业流的末尾,使任务变得非常简单。