通过COM发送邮件而不跳出安全警告

 1 void EmailExtendedMAPISendMail()//不会跳出安全警告框,嘿嘿
 2 {
 3     MapiEx              mapiEx;
 4     MapiExMail          mapiExMail;
 5     boolean             mapiInitialised;
 6     COM                 outlookNameSpace;
 7     COM                 outlook;
 8     COM                 folder;
 9     COM                 item;
10     str                 entryId;
11     str                 storeId;
12     InteropPermission   permission;
13     List                List = new List(types::String);
14     ListEnumerator      Le;
15 
16     #define.outlookapplication("outlook.application")
17     #define.mapi("mapi")
18     #smmMSOutlook2002ObjectModelConstants
19 ;
20     FromVendStr = FromVendor.valueStr();
21     ToVendStr   = ToVendor.valueStr();
22     SubjectStr  = Subject.valueStr();
23     BCCEmailStr = BCC.valueStr();
24     HtmlbodyStr = Htmlbody.valueStr();
25 
26     List = global::strSplit(BCCEmailStr,";");
27     Le   = List.getEnumerator();
28 
29     permission       = new InteropPermission(InteropKind::ComInterop);
30     permission.assert();
31 
32     outlook          = new COM (#outlookapplication);
33     outlookNameSpace = outlook.getNameSpace(#mapi);
34 
35     outlookNameSpace.logon();
36     folder  = outlookNameSpace.getDefaultFolder(#olFolderInbox);
37     storeId = folder.storeId();
38     item    = outlook.createItem(#olMailItem);
39 
40     if(item)
41     {
42         item.subject(SubjectStr);
43         item.body(HtmlbodyStr);
44 
45         item.saveSentMessageFolder(outlookNameSpace.getDefaultFolder(#olFolderSentMail));
46         item.save();
47         entryId = item.entryId();
48 
49         mapiEx = new MapiEx();
50 
51         if(mapiEx && mapiEx.mapiInitialised())
52         {
53             mapiInitialised = true;
54             if (!mapiEx.logon("","",0) || !mapiEx.openMessageStore(storeId))
55             {
56                 mapiInitialised = false;
57                 mapiEx.logout();
58                 mapiEx.finalize();
59                 return;
60             }
61 
62             mapiExMail = mapiEx.getMailFromEntryId(entryId);
63 
64             if (mapiExMail)
65             {
66                 // mapiExMail.addRecipient('TylerL@qvsglobal.com.cn',"",#olBCC);// olTo olCC olBCC
67                 while(Le.moveNext())
68                 {
69                     info(Le.current());
70                     mapiExMail.addRecipient(Le.current(),"",#olBCC);// olTo olCC olBCC
71                 }
72             }
73 
74             mapiExMail.send();
75             mapiExMail.close();
76         }
77     }
78     if (mapiInitialised)
79     {
80         mapiEx.logout();
81         mapiEx.finalize();
82     }
83 }
posted @ 2012-11-13 09:50  Sprite.z  Views(449)  Comments(0Edit  收藏  举报