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 }