我正在尝试从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();
}
?>
答案 0 :(得分:0)
所以我通过删除类和函数并在while循环中包含php代码解决了这个问题。也许不是最佳实践解决方案,但它确实有效。