I don't have any knowledge in .NET, but fortunately I found a similar problem in Fred Shen's blog (http://fredshen.spaces.live.com/). I mailed him my problem and instantly got an anser and a solution !
Here is the Fred's answer. I tried it and it works! (I marked the changes to be done in the method with red color)
Whenever you initialize the sysmailer class, put InteropPermission.assert() before new SysMailer(). When you look into SysMailer.new() method, you may find that the COM c = new COM(' CDO .Message') is not in the scope of interopPermission.assert(). (I thought it should be a code defect) So alternatively, you can restructure the codes in SysMailer.New() as below:And that's just what I want to achieve with my blog: to get to know people and to help each other. So again: THANX A LOT, FRED !
void new(/* COM c = new COM(' CDO .Message')*/)
{
COM cdoConfig;
COM c;
InteropPermission permission = new InteropPermission(InteropKind::ComInterop);
;
permission.assert();
c = new COM('CDO .Message');
_COM = c;
//BP Deviation Documented
if (_COM.configuration() == null)
{
…
3 Kommentare:
I checked the Sysmailer class, it is using Dundas.mailer DLL not the CDO.Message object, Are talking about the AX 4.0. I currently saw the classes in the AX 3.0 SP3...
I am not able to find anywhere the CDO code which can actually send the mail, i tried to execute the following code but no errors came but the mail was not sent to the To address.
server static void HCL_CDO(Args _args)
{
// Declare the Com Object Variable.
COM CDOMessage = null;
COM CDOConf = null;
// Instantiate the Com object CDOSYS.DLL (IMessage Interface)
CDOMessage = new COM("cdo.message");
// Set the To Line
CDOMessage.To('ToAddr@xxxxxx.com');
// CDOMessage.To('ToAddr@xxxxxx.com');
// Set From Line
CDOMessage.From('FromAddr@xxxxxx.com');
// Regular Text Body Format (Non-HTML Body)
CDOMEssage.TextBody('Body of Message');
// Message Subject
CDOMessage.Subject('Test Alert Mail');
// Send Message
CDOMessage.Send();
CDOMessage = null;
}
Can you please tell me where we can find the CDO code to send the mail in Axapta...
Kommentar veröffentlichen