您的位置:首页 > 数据库

C#编程实现 Outlook Express 连接email和数据库

2007-10-18 18:31 429 查看
使用 OEAPI 可以,对Outlook Express进行编辑,并且可以添加事件

OEAPI

首先必须添加注册表选项

Registry

// To load this DLL into OE/WM, it must be added to OEAPI's key in the registry

// and OEAPI's launcher.exe (or your own EXE launcher) must be running from startup

[ComRegisterFunction]

public static void RegisterFunction(Type t)

{

try {

// Attempt to open the key

RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Nektra\\OEAPI\\Plugins", true);

// If the return value is null, the key doesn't exist

if (key == null) {

// The key doesn't exist; create it / open it

key = Registry.CurrentUser.CreateSubKey("Software\\Nektra\\OEAPI\\Plugins");

}

//SetValue (string name, Object value)

//name can be set any string,but if has many name OE will initialize many name setting,so best set "Plugin".

//value : namespace.classname.

key.SetValue("NewsOEAgentPlugin", (string) "news.oe.NewsOEAgent");

}catch(Exception ex) {

Console.WriteLine(ex.Message);

Console.WriteLine(ex.StackTrace);

}

}

[ComUnregisterFunctionAttribute]

public static void UnregisterFunction(Type t)

{

try {

// Attempt to open the key

RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Nektra\\OEAPI\\Plugins");

key.DeleteValue("NewsOEAgentPlugin"); //if 'true' is added as a second parameter, eventual exceptions will be thrown

}catch(Exception ex) {

Console.WriteLine(ex.Message);

Console.WriteLine(ex.StackTrace);

}

}

然后打开Outlook Express,这时候设置工程属性

OutputType = "Library"

RegisterForComInterop = "true"

StartProgram = "C:"Program Files"Outlook Express"msimn.exe"

StartAction = "Project"

RegisteredComClassic = "true"

1、 收到邮件并且把附件添加都数据库中

folderManager = new OEFolderManager();

inboxFolder = folderManager.GetInboxFolder();

inboxFolder.OnNewMessage += new IOEFolderEvents_OnNewMessageEventHandler(OnNewMessage);

对邮件的操作都可以放在OnNewMessage里面,包括添加到db,或生成文件等操作。

2、监视文件夹,并发送email

监视某个文件夹,如果有文件添加到这个文件夹就发送email

可通过 oeApi.OnNewMsgWnd += new IOEAPIObjEvents_OnNewMsgWndEventHandler(OnNewMsgWnd);

oeApi.ComposeMessage();

这时候激活OnNewMsgWnd 事件,就可以对邮件地址等等进行付值等。

3、文件监视简单

newsFileWatcher = new FileSystemWatcher(filePath,filter);

newsFileWatcher.IncludeSubdirectories = true;

newsFileWatcher.Renamed += new RenamedEventHandler(OnFileRenamed);

newsFileWatcher.EnableRaisingEvents = true;

在OnFileRenamed事件里面添加你自己的逻辑。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: