Вырвал мне волосы на этом.
У меня есть внутренний сервер Win2008 с IIS7.0 и PHP 5.2.4. Почтовый сервер находится на отдельном сервере в той же сети.
Я могу использовать почтовую функцию php, чтобы отправлять электронные письма без проблем, но когда я использую PHPMailerLite, я получаю сообщение «не удалось создать экземпляр почтовой функции».
Я много исследовал и пробовал следующее, но все равно без радости.
- SetFrom - изменен на существующий адрес электронной почты на почтовом сервере.
- Проверенные настройки SMTP в php.ini
- Протестирована функция почты php напрямую, и электронные письма отправляются без проблем.
- Снова загрузил PHPMailer в случае повреждения.
Любая помощь будет оценена по достоинству .....
Алан
Чтобы добавить, примеры по умолчанию, включенные в PHPMailer, тоже не работают, та же ошибка. Этот код работает для меня на других тестовых серверах.
$mail = new PHPMailerLite();
$mail->IsMail(); // telling the class to use PHP Mail to send email
$mail->SetFrom("[email protected]","CareSys");
$mail->AddReplyTo("[email protected]","CareSys");
$mail->Subject = "Weekly Planner";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$mail->AddAddress($email_add, $carer_name);
$mail->AddAttachment('../../temp/carer_planner.pdf','carer_planner.pdf'); // attachment
$mail->ConfirmReadingTo = '[email protected]';
if(!$mail->Send()) { $error_count=1; }
if ($error_count<1) { echo 'Email Sent Successfully'; }
Если я помещу адрес получателя непосредственно в файл класса в строке 582 вместо $ to vairable, это сработает. Но использование $ mail-> AddAddress ($ email_add, $ carer_name) не будет, даже если я заменю переменную $ email_add адресом получателя.