Меню

Cs cart ошибка could not instantiate mail function

Joomla — хороший движок, но не идеальный. Даже на таком удобном конструкторе могут выскакивать весьма неудобные проблемы. К примеру, в CMS Joomla выскакивает белый экран при входе в админку. Либо возникают ошибки в результате активации человекопонятных ссылок в настройках.

Но одна из самых распространенных и непонятных для многих вебмастеров ошибка — это «сould not instantiate mail function».

Такое случается, когда вам не удалось вызвать функцию отправления электронного письма при помощи движка Joomla. Рассмотрим возможные причины возникновения ошибки и методы ее решения.

135

Почему не удалось вызвать функцию отправки на имейл в Joomla

Итак, попробуем определить причину появления навязчивого сообщения «сould not instantiate mail function» и почему не удалось вызвать функцию в разных ситуациях.

Первая причина, почему выскочила надпись «сould not instantiate mail function» при попытки отправить письмо на имейл — это ваш хостинг, а точнее ваш локальный сервер. Часто вебмастера перед тем, как что-то устанавливать на сайт или перед его публикацией, проводят эксперименты вдали от сети Интернет — у себя на компьютере на созданном виртуальном сервере. Если вы сейчас редактируете содержимое сайта именно при помощи локального сервера, то функцию не удалось вызвать по очень простой причине — у вас на компьютере нет куда отправлять имейл. То есть у вас нет сервера для отправки электронных писем. И неважно какой именно локальный хост вы используете, WAMP или Денвер — вы все равно не сможете отправлять с него электронные письма.

Порой надпись «сould not instantiate mail function» появляется, но не при каждом отправлении письма. К примеру, когда вы делаете рассылки своим подписчикам и из тысячи человек 20 не получают письма, так как не удалось вызвать эту функцию в Joomla. В таком случае объяснение простое — они ввели неправильный адрес электронной почты, когда подписывались на вашу рассылку. Решить такую проблему невозможно — придется удалить невнимательных подписчиков.

joomla-3.0-smtp-mail-settings

Иногда Joomla выдает надпись «сould not instantiate mail function» из-за того, что вы ввели в данных отправки какие-то специальные символы, которые сервер не воспринимает. Особенно часто эту случается в тех случаях, когда вы создаете скрипт рассылки и указываете в нем имя пользователя с какими-то особыми знаками. Если это так, то чтобы удалось вызвать функцию отправки электронного письма в Joomla, вам необходимо нажать пункт Yes возле графы Adds Names, чтобы сервис добавлял имена в письма и воспринимал специальные символы.

Еще одна причина, по которой вместо отчета об отправке сообщений вы увидите «сould not instantiate mail function» — это недействительный донорский адрес имейл. Дело в том, что даже если сообщения отправляет ваш сервер, они не придут получателю, если не будет указан отправитель. Возможно, вы указали неверный имейл отправителя, ведь эта почта должна быть зарегистрирована на вашем доменном имени.

Если все перечисленные причины не подходят для вашего случая, то попытайтесь разведать обстановку у хостинг-провайдера. Очень часто на хостинге ставят ограничения для различных услуг. Таким образом они завлекают клиентов покупать пакеты подороже. Есть вероятность, что не удалось вызвать функцию отправки сообщений в Joomla как раз из-за подобных ограничений. В частности, хостинг-провайдер мог поставить максимальный предел количества отправленных сообщений за час. Если это так, то вам остается немного подождать, чтобы отправить очередную партию электронных писем, либо приобрести пакет подороже, чтобы снять установленное ограничение.

Существуют и другие причины, из-за чего вылетает сообщение «сould not instantiate mail function» на сайте с движком Joomla. И вполне вероятно, что причины эти снова кроются в ограничениях вашего хостинга. Вам стоит заранее разведать допустимые параметры электронных сообщений для отправки, чтобы потом не возникало проблем. К примеру, некоторые хостинги априори отказывают отправлять сообщения, если в них закреплены какие-то файлы. Возможно, таким образом они пытаются избежать прецедентов спам-рассылок, а с другой стороны — не хотят отправлять слишком большие массивы информации, нагружая тем самым сервера. В любом случае вам нужно разведать обстановку в технической службе поддержки, а потом искать пути решения.

server-settings-image

И последняя причина, по которой надпись «сould not instantiate mail function» не дает вам отправить электронные письма — это ошибки в поле «Тема» при отправке. Вы должны знать, какие лимиты длины «Темы» установлены на сервере. Превышение лимита — это однозначный отказ к отправке. Да и не стоит делать рассылку с громоздкими заголовками — это не эффективно. С другой стороны, вы могли использовать в пункте «Тема» какие-то запрещенные символы. В любом случае вам поможет поддержка!

Я использую базовый пример mail(), немного модифицированный для моего идентификатора пользователя, и я получаю сообщение об ошибке «Ошибка Mailer: не удалось создать почтовую функцию»

если я использую почтовую функцию —

mail($to, $subject, $message, $headers);

он отлично работает, хотя мне трудно отправить html, поэтому я пытаюсь PHPMailer.

это код:

<?php
require_once('../class.phpmailer.php');

    $mail             = new PHPMailer(); // defaults to using php "mail()"
    $body             = file_get_contents('contents.html');
    $body             = eregi_replace("[]",'',$body);
        print ($body ); // to verify that I got the html
    $mail->AddReplyTo("[email protected]","my name");
    $mail->SetFrom('[email protected]', 'my name');
    $address = "[email protected]";
    $mail->AddAddress($address, "her name");
    $mail->Subject    = "PHPMailer Test Subject via mail(), basic";
    $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";
    $mail->MsgHTML($body);
    $mail->AddAttachment("images/phpmailer.gif");      // attachment
    $mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

    if(!$mail->Send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Message sent!";
    }
?>

4b9b3361

Ответ 1

Попробуйте использовать SMTP для отправки электронной почты: —

$mail->IsSMTP();
$mail->Host = "smtp.example.com";

// optional
// used only when SMTP requires authentication  
$mail->SMTPAuth = true;
$mail->Username = 'smtp_username';
$mail->Password = 'smtp_password';

Ответ 2

$mail->AddAddress($address, "her name");

следует изменить на

$mail->AddAddress($address);

Это сработало для моего дела.

Ответ 3

Если вы отправляете вложения файлов, а ваш код работает для небольших вложений, но не подходит для больших вложений:

Если вы получили сообщение об ошибке «Не удалось создать почтовую функцию» при попытке отправить большие электронные письма, а ваш журнал ошибок PHP содержит сообщение «Не удается отправить сообщение: слишком большой», то ваш агент передачи почты (sendmail, postfix, exim, и т.д.) отказывается доставлять эти письма.

Решение состоит в том, чтобы настроить MTA, чтобы позволить большие вложения. Но это не всегда возможно. Альтернативное решение — использовать SMTP. Вам потребуется доступ к SMTP-серверу (и учетным данным входа, если ваш SMTP-сервер требует аутентификации):

$mail             = new PHPMailer();
$mail->IsSMTP();                           // telling the class to use SMTP
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "mail.yourdomain.com"; // set the SMTP server
$mail->Port       = 26;                    // set the SMTP port
$mail->Username   = "[email protected]"; // SMTP account username
$mail->Password   = "yourpassword";        // SMTP account password

PHPMailer по умолчанию использует функцию PHP mail(), которая использует настройки из php.ini, которые обычно по умолчанию используют sendmail (или что-то подобное). В приведенном выше примере мы переопределяем поведение по умолчанию.

Ответ 4

Это сработало для меня

$mail->SetFrom("[email protected]","my name", 0); //notice the third parameter

Ответ 5

Вам нужно убедиться, что ваш адрес — это действительная настройка учетной записи электронной почты на этом сервере.

Ответ 6

Старый поток, но он может помочь кому-то вроде меня. Я решил проблему, настроив значение SMTP-сервера на законное значение в PHP.ini

Ответ 7

У меня тоже была эта проблема. Мое решение состояло в том, чтобы отключить selinux. Я попытался разрешить 2 разных параметра http в selinux (что-то вроде httpd_allow_email и http_can_connect), и это не сработало, поэтому я просто полностью отключил его и начал работать.

Ответ 8

У меня возникла проблема при отправке файлов с региональными символами в именах: VęryRęgióńął file - name.pdf.

Решение заключалось в том, чтобы очистить имя файла, прежде чем прикреплять его к письму.

Ответ 9

Кажется, в моем случае это было просто СЕРВЕРНОЕ ОТКЛОНЕНИЕ. Проверьте доступность протокола журнала /smtp вашего почтового сервера.

Ответ 10

У меня была эта проблема, и после некоторой отладки и поиска я понял, что у SERVER (Godaddy) могут быть проблемы.

Я рекомендую вам связаться с вашим провайдером веб-хостинга и поговорить с ними о Quota Restrictions в функции почты (они делают это, чтобы люди не делали спам-ботов или массовую электронную почту (спам)).

Они могут сообщить вам свои пределы, и если вы превысите их. Вы также можете обновить лимит, перейдя на частный сервер.

После разговора с GoDaddy в течение 15 минут техническая поддержка смогла разрешить это в течение 20 минут.

Это очень помогло мне, и я хотел бы поделиться им, поэтому, если кто-то еще сталкивается с этим, они могут попробовать этот метод, если все не удастся, или до того, как они попробуют что-нибудь еще.

Ответ 11

Справка PHPMailer docs на эта конкретная ошибка помогла мне на правильном пути.

Что мы обнаружили, так это то, что php.ini не определил путь sendmail_path, поэтому я добавил, что с sendmail_path = /usr/sbin/sendmail -t -i;

Ответ 12

Проверьте, включен ли sendmail, в основном, если ваш сервер предоставлен другой компанией.

Ответ 13

Мы хотим изменить значения «SMTP» в файле php.ini
Файл php.ini находится в

EasyPHP-DevServer-14.1VC11binariesphpphp_runningversionphp.ini

A common error but a difficult one to fix without help. Learn how to do it in this article.

This message means that your mail server (the mailing part of your host) failed to send an email.

This is the most common error message you will get if you have trouble sending e-mails using your server and unfortunately, this error message does not tell you how you can solve the issue.

You can find a detailed explanation as to why your mail server failed to send the email in its logs file. You can ask your host for it.

Based on our experience, your mail server can fail to send emails for these reasons:

You are on a local server (using WAMP for example)

This kind of web server does not have a mail server so you can’t send e-mails from your local server.

What’s the solution? Well, you should configure AcyMailing to use an external SMTP server instead of using the php Mail function to test Acy but you can consider it will work on your live server

Your receiver e-mail address is not valid

Your mail server may refuse to deliver your message if the receiver e-mail address is not a valid one… So if you have this «could not instantiate mail function» for only a few of your subscribers, it may just be because their e-mail address is not valid!

You included a special character in the subject line

Some mail servers will refuse to deliver your message if it contains special characters in the subject such as a quote or a comma or any other kind of special character (ùïä)…

Please create a new Newsletter, specify a standard subject line («test» for example) and give it a new try.

You included a special character in the sender/receiver information

The same way, some mail server will refuse to deliver your message if the sender information contain special characters.

Please go on the AcyMailing configuration page, turn OFF the option «add Names» and give it a new try.

Your subject line is too long

Some mail server may not authorize you to deliver your message if the subject line is too long…

Change your subject line to a single word to make sure it’s not a problem of subjet length.

The bounce address you specified is not accepted by your server

Some servers won’t accept to deliver your message if you specify a bounce e-mail address.
Others will force you to apply a bounce address which belongs to your own domain…

Please go on the AcyMailing configuration page and leave the bounce address field empty.

You should specify a bounce e-mail address

Just like the previous point, some servers will only deliver messages if you specified a bounce e-mail address belonging to your own domain.

If removing the bounce e-mail address didn’t work, you should try to add it again and make sure it’s a valid e-mail address belonging to your own domain.

You already sent too many e-mails!

Most of hosting company will allow you send X e-mails per hour.
If you go over that limitation, the mail server will refuse to deliver more e-mails and will display this error message.
So for example if you successfully sent 480 e-mails and you can’t send e-mails any more, then it’s probably what happened and you should first wait one hour to deliver more e-mails and also make sure

AcyMailing is configured to stay below your sending limitations

.

You send multiple parts… and your host does not like it!

Some hosts won’t enable you to send multiple parts…
That definitely a parameter we recommend you to keep enabled but you should try to turn it OFF to see if that solves the «could not instantiate mail function» issue.
You will find this option under the «Mail Configuration» tab on the AcyMailing configuration page.

Your host does not allow attachments

Some hosts will not allow you to send a message with an attachment… so if you have this issue only on Newsletter with attachments, you could turn OFF the option «embed attachments» on the Acy configuration page to make sure Acy will add the file as a link in your message and not as a real attachment.

Still can’t make it work?

They provide with a really nice service and you will easily get rid of all those connexion issues.

  • #691

Кто может подсказать, как реализовать «живой поиск» на сайте без установки дополнительных модулей?

  • #692

Ошибка Could not instantiate mail function.
Ошибка Сообщение не может быть отправлено.
Возникают эти ошибки, что делать ?

  • #693

Ошибка Could not instantiate mail function.
Ошибка Сообщение не может быть отправлено.
Возникают эти ошибки, что делать ?

Зайдите в панели Настройки: Электронная почта, выберите- Способ отправки почты, и всё…

  • #694

Зайдите в панели Настройки: Электронная почта, выберите- Способ отправки почты, и всё…

В том то и дело. Я уже выбрал. А выбирал 2 метода, mail PHP и SMTP. Никакой из этих способов не работает :(

  • #695

Если не прописывать
Настройки: Электронная почта
и включить быстрый заказ, то всё работает и с быстрым заказом приходит спам!

Что и как нужно поменять?

  • #696

А платежные системы Яндекса в этой версии есть?

  • #697

Есть проблемы с импортом товаров. Нужно загрузить около 4000 товарок из CSV. Подготовил файлик, начинаю импортировать, а импорт обрывается…. Смотрю по количеству товаров — добавляется 150-200 товаров и все, каждый раз разное количество добавляется, где затык непонятно. Кто сталкивался с такой проблемой?

  • #698

Есть проблемы с импортом товаров. Нужно загрузить около 4000 товарок из CSV. Подготовил файлик, начинаю импортировать, а импорт обрывается…. Смотрю по количеству товаров — добавляется 150-200 товаров и все, каждый раз разное количество добавляется, где затык непонятно. Кто сталкивался с такой проблемой?

Посмотрите логи сервера. Может хостинг слабенький совсем?

  • #699

Посмотрите логи сервера. Может хостинг слабенький совсем?

Раньше работала такая фича — по завершению импорта, писало — что и в каком количественно добавлено, а что обновлено. Сейчас оно пишет — это или через пару обновлений других страничек — постфактум или вообще ничего не пишет. Лично я каждый раз перепровераю вручную по последнем артикулу внесены ли изменения.

  • #700

Хостинг действительно не силен…

Таки при импорте бежит полосочка но затыкается почти в самом начале и исчезает, смотрю по товарам какое-то количество добавляется, но далеко не все :( Думаю процесс по таймауту вырубают :( Ладно когда товары добавляешь, а когда по ценам изменения…. можно серьезно попасть!

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Crystaldiskinfo неисправимые ошибки секторов тревога как исправить
  • Crystaldiskinfo неисправимые ошибки секторов 100