PHP & Outlook 2007 COM 新增电子邮件窗口,用于进一步编辑



我在Outlook Application COM类中使用PHP。目前我可以发送从服务器和客户端只是很好,所以我知道它的设置正确。我的问题来自于在发送电子邮件之前需要允许附加附件。发送的电子邮件大部分是完全相同的,但附件可能会改变。附件通常是excel文件,根据收件人的不同而变化,格式无关紧要,只是每个收件人的文件不同。

这是我到目前为止的代码:

$objApp = new COM("outlook.application") or die("Unable to Load Outlook");
$email = $objApp->CreateItem(0);
$email->To = $receiver;
$mail->From = 'someone@somewhere.com';
$mail->FromName = $sender;
$email->Subject = $subject;
$email->HTMLBody = $emailbody;
$email->attachments->Add($folder.$file);
$email->Display();

行为是,当我点击一个按钮,这个脚本触发,它打开Outlook 2007中的"新"电子邮件窗口,其中包含主题,正文,发件人,收件人和模板附件的信息。不过,如果有必要,发送者需要能够添加其他附件。当我在服务器上运行这个程序时,Outlook会毫无问题地打开"新建"电子邮件窗口。但是,当我试图从客户端计算机创建电子邮件时,"新建"电子邮件窗口在服务器上打开,而不是在客户端打开。这种行为毫无意义,因为用户并不在服务器旁边完成电子邮件并发送它。有人知道如何在客户端计算机上打开"新"电子邮件窗口吗?

PS(我知道我可以创建一个允许上传的表单,然后发送带有这些附件的电子邮件,但我宁愿不重新创建轮子,如果我不需要…)

您可以在客户端使用mailto链接在本地打开消息,但是mailto: url不支持附件。

您还可以使用客户端脚本来创建Outlook的实例。应用程序对象,但它只能在IE下工作,并且您的站点必须是可信的,才能创建本地COM对象。

最新更新