2

SMTP MIME 消息一直运行良好,直到几周。突然,电子邮件的正文内容为空白且未显示任何数据,正在发送电子邮件,但电子邮件中没有正文内容,但主题行是合适的。有人可以让我知道它是否与内部支持问题有关,或者某些东西已被 SMTP 实用程序弃用。感谢您的回复。

技术细节如下:实用程序IEBGENER用于将电子邮件数据复制到 SMTP MIME 服务器。这是使用的 JCL:

//SENDEMAIL EXEC PGM=IEBGENER                            
//SYSIN    DD DUMMY                                      
//SYSUT1   DD DSN=EMAIL.INPUT.DS,DISP=SHR
//SYSUT2   DD SYSOUT=(B,SMTP)                            
//SYSOUT   DD SYSOUT=*                                  
//SYSPRINT DD SYSOUT=* 
// 

EMAIL.INPUT.DS 包含

HELO IEFSSxx                                            
MAIL FROM:<MYTEST@TESTING.COM>                    
RCPT TO:<YOURTEST@TESTING.COM>                      
DATA                                                    
FROM:     MYTEST@TESTING.COM 
TO:       YOURTEST@TESTING.COM 
SUBJECT:  TEST MESSAGE FROM MVS USING SMTP              
MIME-VERSION: 1.0 
CONTENT-TYPE: TEXT/HTML;BOUNDARY="SIMPLE BOUNDARY"
--SIMPLE BOUNDARY
THIS IS A LINE IN THE BODY OF THE NOTE.                  
--SIMPLE BOUNDARY
.
QUIT
4

1 回答 1

4

我怀疑您的 SMTP 服务已升级,并且可能对设置消息时的错误更加敏感——您的示例有一些...

boundary参数的子Content-type参数与多部分消息相关(它是消息部分之间的边界分隔符)。您的Content-type消息并非如此,我想可能已经放弃multipart了对子参数的“支持”,从而产生了不可预测的结果。boundary

您可能会发现查看描述 MIME 格式的RFC 2045RFC 2046很有用。子参数的规则boundary在 RFC2046 中的 multipart messages 下定义。

在多部分消息中正确使用边界分隔符通常要求边界分隔符后跟一个空行。此外,最后一个边界分隔符,即终止消息最后一部分的分隔符应该附加两个连字符。

考虑到所有这些,符合标准的消息看起来更像:

HELO IEFSSxx                                            
MAIL FROM:<MYTEST@TESTING.COM>                    
RCPT TO:<YOURTEST@TESTING.COM>                      
DATA                                                    
FROM:     MYTEST@TESTING.COM 
TO:       YOURTEST@TESTING.COM 
SUBJECT:  TEST MESSAGE FROM MVS USING SMTP 
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="SIMPLE BOUNDARY"

--SIMPLE BOUNDARY

Please open the attachment, to solve your problems...
--SIMPLE BOUNDARY
Content-type: text/html

Try asking <a href="http://www.stackoverflow.com">Stackoverflow</a>
--SIMPLE BOUNDARY--
.
QUIT

请注意,上述示例中的空白行很重要,并且最后一个boundary分隔符有两个尾随连字符。

于 2012-11-09T19:41:45.040 回答