Я создаю функцию для отправки уведомлений по электронной почте пользователю, используя phpMailer lib.
public function notify($address,$subject = '',$body = null,$mailer_options = array()) {
try {
$phpmailer = new PHPMailer($exceptions = true);
$phpmailer->CharSet = 'UTF-8';
$phpmailer->IsSMTP();
$phpmailer->SMTPAuth = true;
$phpmailer->SMTPKeepAlive = true;
//$phpmailer->SMTPDebug = true;
$phpmailer->IsHTML(true);
$phpmailer->Host = ...
$phpmailer->Username = ...
$phpmailer->Password = ...
$phpmailer->From = ...
$phpmailer->FromName =...
$phpmailer->AddAddress($address);
$phpmailer->Subject = $subject;
$phpmailer->Body = $body;
$phpmailer->Send();
$phpmailer->ClearAllRecipients();
}
Это прекрасно работает, если я просто отправляю электронное письмо или отправляю несколько электронных писем внутри класса.Но если сделать
for($i=0;$i<3;$++)
{
$notification = new $Notification();
$notification->notify(...);
}
, он перенастраивает пустую страницу.Нет ошибок, сообщений, ничего.Прежде чем вы спросите, у меня включены display_errors.
Что это может быть?
Это прекрасно работает, если у меня только один экземпляр phpmailer, подобный этому:
$phpmailer = new PHPMailer($exceptions = true);
(...)
for($i=0;$i<3;$i++)
{
$phpmailer->AddAddress('address');
$phpmailer->Subject = "";
$phpmailer->Body = "sasa";
$phpmailer->Send();
$phpmailer->ClearAllRecipients();
}