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

时间:2014-08-15 19:21:22

标签: php com outlook email-attachments

我正在使用PHP与Outlook应用程序COM类。目前我可以从服务器和客户端发送,所以我知道它的设置正确。我的问题来自于在发送电子邮件之前需要允许其他附件。发送的电子邮件大部分完全相同,但附件可能会更改。附件通常是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(据我所知,我可以创建一个允许上传的表单,然后发送带有这些附件的电子邮件,但如果我不需要,我宁愿不重新创建轮子。)

1 个答案:

答案 0 :(得分:0)

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

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