PHP-EWS while循环错误无法重新声明类EwsSendEmail

时间:2014-10-21 20:49:28

标签: php mysql while-loop php-ews

我正在尝试从SQL数据库中提取电子邮件,然后通过PHP使用EWS向每封电子邮件发送电子邮件。但是,当我将PHP-EWS代码https://github.com/jamesiarmes/php-ews/置于while循环中时,它会给出错误"无法重新声明类EwsSendEmail"

这里是代码的布局,看起来我不能在while循环中拥有类。但不知道我怎样才能从SQL表中获取所有数据并为每个数据发送一个唯一的电子邮件,我对类的使用不是很熟悉。如果我只通过在SELECT之后添加TOP 1从SQL中提取一条记录,则代码可以正常工作。我很感激任何帮助。

<?php
$sql = "SELECT FIELDNAME FROM TABLE";
$stmt = sqlsrv_query( $conn, $sql);
if ($stmt === false ) {
die (print_r( sqlsrv_errors(), true));
}
while ( $column = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_BOTH)) {
// Do some data processing here
require_once($ewspath.'EWSType/IncludetheEWSFilesHere.php');
class EwsSendEmail
{
    protected function sendEmail()
    {
        $server = 'myserver';
        $username = 'myuser';
        $password = 'mypass';
        $ews = new ExchangeWebServices($server, $username, $password);

        // Process the EWS Code Here

        $response = $ews->CreateItem($message);
        //var_dump($response);
    }

    function __construct()
    {
        $this->sendEmail();
    }
}
$page = new EwsSendEmail();
}

?>

1 个答案:

答案 0 :(得分:0)

所以我通过删除类和函数并在while循环中包含php代码解决了这个问题。也许不是最佳实践解决方案,但它确实有效。