再丢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);
通过系统组件调用发送邮件!
不知道这个方法可不可用。