我有一个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但仍无法正常工作
以下是我在运行此代码时收到的邮件样本。
答案 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一样。或者您可以将其作为单独的步骤添加到作业流的末尾,并使任务变得非常简单。