我说我的兄弟姐妹们啊,快来帮帮忙啊。小弟我急死了。 在C#中,怎样调用也可以说是直接弹出 OutLook 发信窗口,并自动添加一个附件。 我说我的兄弟姐妹们啊,快来帮帮忙啊。我想要得效果就像 用mailto:[email protected]? ,可以直接弹出outlook 发信窗口。但是必须能自动添加一个附件。有这方面经验或消息的大哥大姐们,快来拯救拯救小弟我吧!!!!!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个问题我可是花了很长时间解决了.可以支持Outlook Express 5.0/6.0和MS Outlook 2000(这个可是有一点难度的哦,不信你试试就知)好象对MS Outlook 2003支持就不行了,我没有再研究了.以下是我用VB写成的代码,只要修改一下就可支持C#(应该很简单的) On Error GoTo err_flag MAPIS1.NewSession = True MAPIS1.LogonUI = False MAPIS1.DownLoadMail = False If Right(App.Path, 1) <> "\" Then m_path = App.Path & "\" Else m_path = App.Path End If m_FileName = "test.txt" m_file = m_path & m_FileName MAPIS1.SignOn MAPIM1.SessionID = MAPIS1.SessionID MAPIM1.Compose MAPIM1.AddressResolveUI = True MAPIM1.AttachmentIndex = 0 MAPIM1.AttachmentPathName = m_file MAPIM1.AttachmentName = m_FileName MAPIM1.MsgSubject = "The Title " MAPIM1.MsgNoteText = " " MAPIM1.Send True MAPIS1.SignOff Exit Sub err_flag: If MAPIS1.SessionID > 0 Then MAPIS1.SignOff End If 要用到MS的Microsoft MAPI Control 6.0MAPIM1 与 MAPIS1 是它的两个控件名 用API——Mapi.dll,直接调,网上很多资料的,查一下! To : bluest(最深的蓝) . 大哥/大姐,请问像这样能不能把那个发信的窗口弹出来啊。我不只是光直接发信。 谢谢。谢谢大家的回应。 To : bluest(最深的蓝) . 请问,如何获得 MAPIS1 和 MAPIM1 . 我把Microsoft MAPI Control 6.0加载进来后,有了一个 MAMAPI 的 namespace , 里面有很多接口,但MAPIS1 和 MAPIM1 是什么我就无从得知了啊。请指教。谢谢!!!!!! To:snow1257() 当然是那个发信的窗口啊.要下班了,我晚上用C#做一个明天再发给你们吧. 要用到的控件是MSMAPI32.ocx,在你的电脑内搜一搜就会发现有的.(在VS.net项目中添加进这个控件,这个不用我说的了吧)private void btnMail_Click(object sender, System.EventArgs e){ MAPIS1.NewSession=true; MAPIS1.LogonUI =false; MAPIS1.DownLoadMail =false; string m_path; string m_file_name; string m_file; m_path="F:\\MailTest\\"; m_file_name = "test.txt"; m_file = m_path + m_file_name; MAPIS1.SignOn(); MAPIM1.SessionID = MAPIS1.SessionID; MAPIM1.Compose(); MAPIM1.AddressResolveUI=true; MAPIM1.AttachmentIndex = 0; MAPIM1.AttachmentPathName = m_file; MAPIM1.AttachmentName = m_file_name; MAPIM1.MsgSubject = "The Title "; MAPIM1.MsgNoteText = " "; MAPIM1.Send(true); MAPIS1.SignOff();} 楼上麻烦你把所有代码贴出来好吗?还有,在添加MSMAPI32.ocx时会加进两个控件:Microsoft MAPI Message Control,Version 6.0 和 Microsoft MAPI Session Control,Version 6.0 。在设计页面应该拖进哪个控件?在.cs文件中又应该怎样申明控件呢? 请发到我邮箱吧:[email protected] 大哥,我对你的敬仰犹如滔滔江水连绵不绝,又如黄河泛滥一发不可收拾。^0^不过,为什么它发信后不是立刻发出,而是放在缓存里等用户打开outlook 发信时再发出呢?有没有能立刻发出信的办法啊!!!!等待中。。 晕,大哥,我突然发现如果没安装office 2000/2003 outlook , 光是有windows自带的outlook Express . 就不能用这种方法,会报错的。 怎么办啊? 不是不是,现在又可以了, 抱歉抱歉啊。 不过,大哥, 若安装的是office 2003 outlook, 点击send后还不是立刻发信, 等用户把outlook打开后再发信时才发出去。 请指教 To snow1257():是否立即发出邮件,与这个控件没有关系.与你的outlook的选项设置有关.看一看:Outlook--工具--选项--发送--立即发送邮件在目前情况下好象outlook 2003发信时是不行.(从理论上说应该没问题才对) 收到, 那样我就告诉用户别装 office2003 outlook, 有问题 assign 给微软吧。-_-b~感谢感谢 bluest(最深的蓝) !!! C# 如何改变 窗体 标题栏的 样式 请问哪里有周红安老师的21天学通C#视频教程下载 TEXTBOX中显示单片机发来的16进制数??? SqlConnection连接SQL server问题 求一SQL语句! 怎么把一个数据集绑定到文本框后不显示数据? 关于TCPclient发送和接收数据的问题。希望大家帮忙,谢谢 如何使某一个选项卡不可点击?比如:tabPage1 怎么没有Enabled属性呢? vs2008添加数据源失败 数据库问题,请帮忙看看. 会什么我不能运行调试程序?? 西安的程序员看过来,看过来?
可以支持Outlook Express 5.0/6.0和MS Outlook 2000(这个可是有一点难度的哦,不信你试试就知)
好象对MS Outlook 2003支持就不行了,我没有再研究了.
以下是我用VB写成的代码,只要修改一下就可支持C#(应该很简单的) On Error GoTo err_flag MAPIS1.NewSession = True
MAPIS1.LogonUI = False
MAPIS1.DownLoadMail = False
If Right(App.Path, 1) <> "\" Then
m_path = App.Path & "\"
Else
m_path = App.Path
End If
m_FileName = "test.txt"
m_file = m_path & m_FileName
MAPIS1.SignOn MAPIM1.SessionID = MAPIS1.SessionID
MAPIM1.Compose MAPIM1.AddressResolveUI = True
MAPIM1.AttachmentIndex = 0 MAPIM1.AttachmentPathName = m_file
MAPIM1.AttachmentName = m_FileName
MAPIM1.MsgSubject = "The Title "
MAPIM1.MsgNoteText = " "
MAPIM1.Send True MAPIS1.SignOff
Exit Sub
err_flag:
If MAPIS1.SessionID > 0 Then
MAPIS1.SignOff
End If
MAPIM1 与 MAPIS1 是它的两个控件名
直接调,网上很多资料的,查一下!
谢谢大家的回应。
加载进来后,有了一个 MAMAPI 的 namespace , 里面有很多接口,但MAPIS1 和 MAPIM1 是什么我就无从得知了啊。请指教。谢谢!!!!!!
要下班了,我晚上用C#做一个明天再发给你们吧.
(在VS.net项目中添加进这个控件,这个不用我说的了吧)private void btnMail_Click(object sender, System.EventArgs e)
{
MAPIS1.NewSession=true;
MAPIS1.LogonUI =false;
MAPIS1.DownLoadMail =false; string m_path;
string m_file_name;
string m_file; m_path="F:\\MailTest\\"; m_file_name = "test.txt";
m_file = m_path + m_file_name;
MAPIS1.SignOn(); MAPIM1.SessionID = MAPIS1.SessionID;
MAPIM1.Compose(); MAPIM1.AddressResolveUI=true;
MAPIM1.AttachmentIndex = 0;
MAPIM1.AttachmentPathName = m_file;
MAPIM1.AttachmentName = m_file_name;
MAPIM1.MsgSubject = "The Title ";
MAPIM1.MsgNoteText = " ";
MAPIM1.Send(true); MAPIS1.SignOff();}
有没有能立刻发出信的办法啊!!!!等待中。。
outlook Express . 就不能用这种方法,会报错的。 怎么办啊?
是否立即发出邮件,与这个控件没有关系.与你的outlook的选项设置有关.
看一看:Outlook--工具--选项--发送--立即发送邮件
在目前情况下好象outlook 2003发信时是不行.(从理论上说应该没问题才对)