我设法让我的Axapta 3.0通过printjobSettings类发送电子邮件。但是,似乎没有任何地方可以为我的电子邮件创建正文。目前我可以发送带有附件的电子邮件,但我想要包含一些文字,以便为收件人提供附件的上下文。
我该如何做到这一点?
答案 0 :(得分:4)
类printJobSettings有一个方法mailSubject,用于设置生成的电子邮件的主题,但没有设置消息正文的方法。 printJobSettings是一个内核类,所以你不能修改它。
要实际发送电子邮件,内核会将printJobSettings对象传递给Info.ReportSendMail方法,您可以修改该方法。因此,作为一种解决方法,将主题和正文包装在主题中,然后在ReportSendMail中解压缩。
在您的报告中:
printJobSettings.mailSubject(msgSubject + '|' + msgBody);
在Info.ReportSendMail中:
subjectAndBody=printJobSettings.mailSubject();
delimiterPos=strFind(subjectAndBody,'|',1,strlen(subjectAndBody));
if(delimiterPos>0)
{
msgSubject=subStr(subjectAndBody,1,delimiterPos-1);
msgBody=subStr(subjectAndBody,delimiterPos+1,strlen(subjectAndBody)-delimiterPos);
}
else
{
msgSubject=subjectAndBody;
msgBody='Axapta Report';
}