Я пытаюсь извлечь электронные письма из базы данных SQL, а затем отправить электронное письмо на каждое из этих писем, используя EWS через PHP. Но когда я ставлю код PHP-EWS https://github.com/jamesiarmes/php-ews/ внутри цикла while это дает мне ошибку «Невозможно переопределить класс EwsSendEmail».
Здесь макет кода, похоже, что у меня не может быть класса внутри цикла while. Но не уверен, как еще я могу получить все данные из таблицы SQL и отправить уникальное электронное письмо для каждого, и я не очень знаком с использованием класса. Код работает нормально, если я извлекаю только одну запись из SQL, добавляя TOP 1 после SELECT. Я ценю любую помощь.
<?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 в цикл while. Возможно, не лучшее решение для практики, но оно работает.
Других решений пока нет …