使用COM类附加文件 - 在PHP中使用olMailItem

时间:2014-06-12 14:35:44

标签: php outlook sendmail email-attachments

我想在PHP中使用COM类发送电子邮件。 它一直很好,直到我试图添加附件,whitch是我需要做的最重要的部分。

非常感谢您的帮助。

这是我完成的代码。 没有“$ oMsg->附件 - >添加(”文件路径“,”文件名“);”它完美地工作。

<?php
    $standard_email = "myemail@...";
    $UPLOAD_PATH = "uploads/";

    //

    $UPLOAD_FILE = $UPLOAD_PATH.$_FILES['arquivo']['name'];
    move_uploaded_file($_FILES['arquivo']['tmp_name'], $UPLOAD_FILE);
    echo $UPLOAD_FILE;


    if (!defined("olMailItem")) {
        define("olMailItem",0);
    }
    $oApp  = new COM("Outlook.Application") or die('error');
    $oMsg = $oApp->CreateItem(olMailItem);
    $oMsg->Recipients->Add($standard_email);
    $oMsg->Subject="Testing";
    $oMsg->Body="Test";

    //Add attachement - here I get an error
    $oMsg->attachments->Add("file path", "file name");


    $oMsg->Save();
    $oMsg->Send();

?>

2 个答案:

答案 0 :(得分:0)

争论是错误的。 Attachments.Add需要4个参数,其中1个是必需的,其他3个是可选的:http://msdn.microsoft.com/en-us/library/office/ff869553(v=office.15).aspx

在您的情况下,您只需要第一个参数,即完全限定的文件名(路径加文件名)。

答案 1 :(得分:-1)

只需使用:

$oMsg->attachments->Add("file path");