Intereting Posts
Автоматически включать недостающие функции? Удаление дубликатов записей без создания временной таблицы Как разрабатывать, подделывая логин для тестирования ACL в Symfony 2 Загруженные файлы docx, превращающиеся в zip-файлы SELECT * FROM people WHERE user_id = '$ user_id' ORDER BY time GROUP BY фамилия Symfony2 – определить, находится ли пользователь в защищенном брандмауэре strtotime с годом в двухзначном формате Подтвердить URL для многоязычия – японский langauga Я хочу разбиение на страницы на странице параметров плагина wordpress? как я могу назвать функцию differnt PHP, читающий файл данных txt и передающий данные в массив не может нажимать элементы, отобранные другой страницей, используя ajax – $ (document) .on не работает Как получить кратчайшее, а не максимально возможное совпадение регулярных выражений с preg_match () Передача логического через PHP GET JQuery не будет загружать контент в область DIV .. где я ошибся

Ошибка phpmailer "Не удалось создать почтовую функцию"

Я использую простой пример 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("reply@domain.com","my name"); $mail->SetFrom('from@domain.com', 'my name'); $address = "to@domain.com"; $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!"; } ?> 

Related of "Ошибка phpmailer "Не удалось создать почтовую функцию""

Попробуйте использовать 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'; 
 $mail->AddAddress($address, "her name"); 

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

 $mail->AddAddress($address); 

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

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

Если вы получите сообщение об ошибке «Не удалось создать почтовую функцию» при попытке отправить большие сообщения электронной почты, и ваш журнал ошибок 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 = "yourname@yourdomain"; // SMTP account username $mail->Password = "yourpassword"; // SMTP account password 

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

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

 $mail->SetFrom("from@domain.co","my name", 0); //notice the third parameter 

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

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

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

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

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

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

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

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

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

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

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

PHPMailer помогает документам по этой конкретной ошибке, помогая мне найти правильный путь.

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

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

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

 EasyPHP-DevServer-14.1VC11\binaries\php\php_runningversion\php.ini