Есть php скрипт на хостинге по отправке почты по SMTP, почта собственная,
Cron запускает php скрипт, он считывает текстовый файл и отправляет содержимое на почту всем пользователям в базе, если заявку отправляю я или коллеги то всё отправляется и заносится в базу, но если заявку оставляют пользователи то в базу заявка заносится а при рассылке на каждой почте ошибка SMTP connect() failed.
Из-за чего это и как это можно исправить?
Скрипт отправки:
foreach ($files_array as $file_name){
// чтение файла с заявкой
$file = fopen($file_name, "r") or die("Unable to open file!");
$file = fread($file,filesize($file_name));
$file = explode("|", $file);
foreach ($emails_array as $email){
$mailfrom = 'haytek.server@gmail.com';
$id = mb_convert_encoding($file[0], "UTF-8", "WINDOWS-1251");
$subject = "Новая заявка по грузоперевозкам $id";
$message = "";
foreach ($file as $value) {
$message .= mb_convert_encoding($value, "UTF-8", "WINDOWS-1251")."\n\n";
}
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = "utf-8";
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'haytek.server@gmail.com';
$mail->Password = $password;
$mail->SMTPSecure = 'tsl';
$mail->From = $mailfrom;
$mail->FromName = $mailfrom;
$mail->AddAddress($newemail, "");
$mail->AddAddress(strtolower(trim($email)), "");
$mail->AddReplyTo($mailfrom);
$mail->Body = stripslashes($message);
$mail->Subject = stripslashes($subject);
$mail->WordWrap = 80;
if (!$mail->Send())
{
// Запись в лог файл сведения об ошибке
$log = fopen("log.txt","a");
fwrite($log, iconv("UTF-8", "WINDOWS-1251", "\n\nОшибка при отправке $email, \n\n".$mail->ErrorInfo.", \n\n$message"));
fclose($log);
continue;
}
}
unlink($file_name);
}