【问题标题】:PHP-EWS while loop error Cannot redeclare class EwsSendEmailPHP-EWS while 循环错误无法重新声明类 EwsSendEmail
【发布时间】:2014-11-20 22:57:06
【问题描述】:

我正在尝试从 SQL 数据库中提取电子邮件,然后使用 EWS 通过 PHP 向这些电子邮件中的每一个发送电子邮件。但是,当我将 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();
}

?>

【问题讨论】:

    标签: php mysql while-loop php-ews


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2010-10-17
      • 2014-11-07
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多