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

时间:2015-10-27 18:57:39

标签: cobol mainframe

我有一个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但仍无法正常工作

以下是我在运行此代码时收到的邮件样本。

enter image description here

1 个答案:

答案 0 :(得分:3)

如果您要在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软件包,它为你管理所有这些,你可以编写一些配置文件来控制它,你可以轻松地从Cobol调用它程序就像任何其他Rexx一样。或者您可以将其作为单独的步骤添加到作业流的末尾,并使任务变得非常简单。