日期:2014-05-20  浏览次数:20486 次

再丢80分,再问:怎样调用客户端的outlook?--如果,哪位高手能解决此问题,另外一帖的100分,将大部份相送!
我公司有三厂,分别位于台北、广州、昆山,每个厂都有自己的Exchange   Server,现有一web系统,三地用,其中处理工作时,有一发邮件通知的需求,但我不想用下面这种代码:

MailAddress   fromAddress   =   new   MailAddress(strFrom,strFromWhoseName);
MailAddress   toAddress=   new   MailAddress(strTo,strToWhoseName);

MailMessage   message   =   new   MailMessage(fromAddress,toAddress);
message.IsBodyHtml     =     true;
message.Subject   =   strSubject;
message.Body   =   strBody;
MailAddress   copy   =   new   MailAddress( "finer@acme-gz.com.cn ");
message.CC.Add(copy);
SmtpClient   client   =   new   SmtpClient(strSmtpServer);
client.Send(message);

上面的代码中的strSmtpServer为台北user处理时用台北的邮件服务器IP发邮件,广州user处理时用广州的邮件服务器IP,……,这样判断来判断去,我不想这样用,因为各地都有自己的服务器,因此我想在各客户端调用各自的outlook,因为各用户都在自己PC的outlook上设有自己的邮件账号,因此只要隐性调用自己的outlook账号发邮件就可以了,如Delphi用法。

//Delphi用法
//Delphi代码            
procedure         SendMailWithOutlook(towho,subjectstr,bodystr:string);            
var            
          outlookApp,mailMsg,mailRecipient:variant;            
begin            
          outlookApp:=CreateOleObject( 'outlook.Application ');            
          mailMsg:=outlookApp.CreateItem(0);            
          mailMsg.To:=towho;            
          //mailMsg.CC:= 'pan@acme-ferrite.com.tw;xujz@acme-ks.com.cn;finer@acme-gz.com.cn ';            
          mailMsg.Subject:=subjectstr;            
          mailMsg.Body:=bodystr;            
          mailMsg.Send;            
end;            


注意:

以前多数人的回答是mailto:xxx@abc.com,但这样调用时会出来一个写邮件的画面,这样会增加各用户的操作步骤,不利于用户的使用!

因此,这里请各位高手出手,指点指点!

谢谢!

如果,哪位高手能解决此问题,另外一帖的分数,将大部份相送!

另帖:
http://community.csdn.net/expert/Topicview2.asp?id=5254197


------解决方案--------------------
ActiveX
------解决方案--------------------
sendbtn.Attributes.Add( "onclick ", "window.open( 'mailto:zgabgsab@sina.com+ <body> dfddff '); ");
body后面接正文内容;
这样客户就只要发送就可以了啊 ,
难道你想连这个截面都不出来就直接发送邮件 ??

------解决方案--------------------
MailMessage msg = new MailMessage();
msg.From = from;
msg.To = to;
msg.Subject = subject;
msg.Body = body;
msg.BodyFormat = MailFormat.Html;
msg.Fields.Add(CDO.CdoConfiguration.cdoSMTPAuthenticate, true);
msg.Fields.Add(CDO.CdoConfiguration.cdoSendUserName, uid);
msg.Fields.Add(CDO.CdoConfiguration.cdoSendPassword, pwd);

SmtpMail.SmtpServer = smtpsrv;
SmtpMail.Send(msg);

通过系统组件调用发送邮件!

不知道这个方法可不可用。