2009-02-23 7 views
3

J'ai réussi à envoyer mon courrier Axapta 3.0 via la classe printjobSettings. Cependant, il ne semble y avoir aucun endroit où je peux créer un corps pour mon email. Actuellement, je peux envoyer un e-mail avec une pièce jointe, mais j'aimerais inclure du texte pour fournir un contexte à la pièce jointe pour le destinataire.Envoyer un e-mail via Axapta

Comment puis-je accomplir ceci?

Répondre

4

La classe printJobSettings possède une méthode mailSubject pour définir l'objet de l'e-mail généré, mais il n'existe aucune méthode pour définir le corps du message. printJobSettings est une classe de noyau, donc vous ne pouvez pas le modifier. Pour envoyer réellement l'email, le noyau passe un objet printJobSettings à la méthode Info.ReportSendMail, que vous pouvez modifier. Pour contourner le problème, emballez votre sujet et votre corps dans le sujet, puis décompressez-les dans ReportSendMail.

Dans votre rapport:

printJobSettings.mailSubject(msgSubject + '|' + msgBody); 

En 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'; 
} 
Questions connexes