我正在尝试从 SQL 数据库中提取电子邮件,然后使用 EWS 通过 PHP 向这些电子邮件中的每一个发送电子邮件。但是,当我将 PHP-EWS 代码https://github.com/jamesiarmes/php-ews/放在 while 循环中时,它给了我错误"Cannot redeclare class 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();
}
?>