java 调用dll实现exchange server发email和保存email到Drafts
来源:互联网 发布:linux 清空tmp 编辑:程序博客网 时间:2024/04/30 11:59
java项目需要使用outlook exchange server发email和保存已发email到drafts
在网上查找了很多java call exchange server的方法和call outlook的方法,要不就很复杂,要不就要licence,非常麻烦,考虑了很久,最后决定使用exchange server的outlook client来发送email,把和exchange server的交互交给client,java只负责和outlook client交互。
而与outlook交互最简单的方法就是用VB来调用,又直观又方便,所以打算先用VB写一个和outlook交互的DLL,然后再使用java call这个DLL实现email的sent和save to drafts。
首先,VB调用outlook。
VB CODE(网上很多):
*************************************************************************************
Dim MsOutlook, NS, draftFldrs
Function InitializeOutlook()
InitializeOutlook = True
Err.Clear
On Error Resume Next
Set MsOutlook = CreateObject("Outlook.Application")
If Err.Number <> 0 Then
Err.Clear
Set MsOutlook = CreateObject("Outlook.Application.11")
End If
Set NS = MsOutlook.GetNamespace("MAPI")
Set draftFldrs = NS.Folders("FY2010").Folders("Drafts")
If Err.Number <> 0 Then
InitializeOutlook = False
End If
End Function
Sub AddItemToDraft(mSubject, mHTMLBody, mTo, mToCC, mToBCC)
Set MI = MsOutlook.CreateItem(olMailItem)
MI.Subject = mSubject
MI.HTMLBody = mHTMLBody
MI.To = mTo
MI.CC = mToCC
MI.BCC = mToBCC
MI.Save
Set MI = Nothing
End Sub
Private Sub Class_Initialize()
InitializeOutlook
End Sub
Public Sub SendEmail(mSubject, mHTMLBody, mTo, mToCC, mToBCC)
Set MI = MsOutlook.CreateItem(olMailItem)
MI.Subject = mSubject
MI.HTMLBody = mHTMLBody
MI.To = mTo
MI.CC = mToCC
MI.BCC = mToBCC
MI.Send
Set MI = Nothing
End Sub
Public Sub CloseFunction()
Call Class_Terminate
End Sub
Public Sub callsendAndsave(mSubject, mHTMLBody, mTo, mToCC, mToBCC)
Call SendEmail(mSubject, mHTMLBody, mTo, mToCC, mToBCC)
Call AddItemToDraft(mSubject, mHTMLBody, mTo, mToCC, mToBCC)
End Sub
Private Sub Class_Terminate()
Set MsOutlook = Nothing
End Sub
*******************************************************************************
用VB build 一个DLL
再把dll拷贝到system32里
再用regsvr32进行注册
接下来是主要的java call dll了
先准备的dll和jar
-jacob-1.15-M3-x86.dll
-XXX.dll(VB生成的dll)
-jacob.jar
把jacob-1.15-M3-x86.dll拷贝到system32
再把vb生成的dll和jacob.jar导入java工程里
然后
写一个类
exp(我的dll名称是prjSendMail.dll,动态库里的类的名称是Class1,要调用的方法名是callsendAndsave):
*************************************************************************************
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
public class EmailSenderImpl
{
ActiveXComponent pp;
Dispatch dpA ;
public void init()
{
pp= new ActiveXComponent("prjSendMail.Class1");
dpA = (Dispatch) pp.getObject();
}
public void sendEmail()
{
Dispatch.call(dpA, "callsendAndsave", subJect, bodyHtml, to, cc, bcc);
}
}
- java 调用dll实现exchange server发email和保存email到Drafts
- Java Exchange企业邮件服务器 发Email
- java发Email
- java程序发email
- java发Email
- java Email 发邮件
- 【Android基础】调用系统发Email和短信
- Java Email Server
- 发Email
- Email 发邮件完整代码(Java实现)
- 调用【直接或间接】打电话和发短信、收短信接口、发Email (Call, Dial, SMSManager, Broadcast, Email)
- Log4Net把日志保存到数据库和发送Email
- 用Java Mail和Commons-email发简单的邮件
- Java实现Email发送
- java 发送Email 实现
- IOS 调用打电话,发信息,email功能
- Android 调用系统email程序发邮件
- 跳到发送短信,打电话,发Email
- mysql 相关指令
- opengl纹理,光照,glColor4f(),混合
- Oracle字符串函数
- 对泛型算法的几点注意
- AWS (Amazon Web services) 免费主机测试使用流程—网络流量监控利器(VnStat)
- java 调用dll实现exchange server发email和保存email到Drafts
- Xpage中的全局对象和函数
- 一个简单的CDIB类
- Lab Notes: Altera PFL
- Ogre中手动创建mesh
- 洗牌算法
- NMHDR Structure
- 学编程的人不能不看的好文章
- Xen新特性