Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 04.03.2015
Сообщений: 47
1

Неправильно работает функция mail

28.12.2016, 13:21. Показов 601. Ответов 14
Метки нет (Все метки)

Здравствуйте,

пытаюсь отправить письмо с помощью функции mail - ошибок никаких нет, но письма не приходят. Пытался отправить письмо на разные ящики (mail, yandex, gmail) - результат тот же самый. Программа sendmail настроена на smtp сервер smtp.mail.ru, порт 465. Пробовал настраивать на yandex. Настройки в php.ini вроде правильные:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = 465
; http://php.net/smtp-port
smtp_port = 465

; For Win32 only.
; http://php.net/sendmail-from
; sendmail_from = "tretstoun73@gmail.com"

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "C:\Program Files\sendmail\sendmail.exe -t"

Вот код моего скрипта:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$addr = $_POST['addr'];
$theme = $_POST['theme'];
$text = $_POST['text'];
if (isset($addr) && isset($theme) && isset($text)
&& $addr != "" && $theme != "" && $text != "") {
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= "Content-type: text/plain; charset=windows-1251" . "\r\n";
$headers .= "From: <qwertyRoman7@mail.ru>" . "\r\n";
$headers .= "Reply-To: <qwertyRoman7@mail.ru>" . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$addr = "Manager ". "&lt;" . $addr . "&gt;";
if (mail($addr, $theme, $text, $headers)) {
echo '<h3 id = "newMessage">Сообщение успешно отправлено.</h3>';
}
else {
echo '<h3 id = "newMessage">Сообщение не отправлено.</h3>';
}
} else {
echo '<p id = "newMessage">Данные введены неправильно.</p>';
}
?>
Поискал по форуму, но не нашёл ничего, что бы могло как-то исправить эту ошибку. Кто-нибудь сталкивался с подобным?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2016, 13:21
Ответы с готовыми решениями:

Не работает функция mail()
Всем привет!:) Помогите, не работает функция mail() - письма не приходят в mail.ru, gmail. В чем...

не работает функция mail
начал изучать пхп только сегодня и дошел до задания отправки почты, но на почту ничего не...

Не работает функция mail()
Здравствуйте. После переноса сайта на VPS - не отправляет письма функцией mail(). Настройки, вроде...

Не работает функция mail()
не работает функция mail()! подскажите, может под неё надо как-то соответственно пхп настроить?...

14
1641 / 1307 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
28.12.2016, 13:35 2
tretstoun72, Вы на хостинге работаете и на локальном сервере?
0
0 / 0 / 1
Регистрация: 04.03.2015
Сообщений: 47
29.12.2016, 11:16  [ТС] 3
На локальном веб-сервере - Apache (xampp). Не знаю, уже всё перепробовал, что только можно.
0
1641 / 1307 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
29.12.2016, 11:38 4
С локального сервера почту не отправить. Если только настраивать почтовый сервер. Все почта собирается в папке sendmail (с названием папки могу ошибаться) в виде текстовых файлов.
0
Эксперт PHP
3034 / 2543 / 1194
Регистрация: 14.05.2014
Сообщений: 7,124
Записей в блоге: 1
29.12.2016, 11:52 5
Цитата Сообщение от Пифагор Посмотреть сообщение
с названием папки могу ошибаться
!sendmail
0
1641 / 1307 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
29.12.2016, 11:57 6
Kerry_Jr, по-моему в Денвере !sendmail, а в ОпенСервере название другое, поэтому и написал, что с названием папки могу ошибаться.
0
Эксперт PHP
3034 / 2543 / 1194
Регистрация: 14.05.2014
Сообщений: 7,124
Записей в блоге: 1
29.12.2016, 12:43 7
Пифагор, хотя подожди, я на linux пользуюсь xampp там по умолчанию вообще не работает mail.
Цитата Сообщение от tretstoun72 Посмотреть сообщение
ошибок никаких нет, но письма не приходят.
В спаме смотрели?
0
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
29.12.2016, 14:29 8
Цитата Сообщение от tretstoun72 Посмотреть сообщение
пытаюсь отправить письмо с помощью функции mail
Откройте для себя библиотеку PHPMailer, которую использует и ВП к примеру. С майл Вы замучаетесь, с нее почта часто в спам или вообще не приходит на многие почтовики.
0
1641 / 1307 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
29.12.2016, 14:37 9
Цитата Сообщение от tretstoun72 Посмотреть сообщение
На локальном веб-сервере - Apache (xampp). Не знаю, уже всё перепробовал, что только можно.
pyramida, ТС работает на локалке. Почту с локалки не отправишь без MailServer. И хоть PHPMailer, хоть черт лысый сам не установит и настроит почтовый сервер.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16831 / 6709 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.12.2016, 14:38 10
Цитата Сообщение от pyramida Посмотреть сообщение
С майл Вы замучаетесь
потому что обычно никто не заморачивается с отправкой дополнительных заголовков при использовании стандартной функции
0
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
29.12.2016, 14:40 11
Цитата Сообщение от Пифагор Посмотреть сообщение
PHPMailer
он к SMTP подключается и отправляет Я делал с денвера.

Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
потому что обычно никто не заморачивается с отправкой дополнительных заголовков при использовании стандартной функции
Это и имелось ввиду.
0
1641 / 1307 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
29.12.2016, 14:49 12
Цитата Сообщение от pyramida Посмотреть сообщение
он к SMTP подключается и отправляет
Года 4 назад после безуспешных попыток отправить почту с локалки я больше к этому не возвращался. Очевидно, PHPMailer доделали.
Цитата Сообщение от pyramida Посмотреть сообщение
С майл Вы замучаетесь
А с mail() при работа на хостинге у меня никогда никаких проблем не было.

Но, оставим сие на выбор ТС`а.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16831 / 6709 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.12.2016, 14:54 13
Пифагор, это можно реализовать и стандартной mail. PHPMailer подключается к указанному SMTP серверу, например, к серверу яндекса.
0
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
29.12.2016, 14:54 14
Цитата Сообщение от Пифагор Посмотреть сообщение
Очевидно, PHPMailer доделали.
Тоже не все просто. использовать нужно реальный емайл, с его смтп и отправлять.

Цитата Сообщение от Пифагор Посмотреть сообщение
А с mail() при работа на хостинге у меня никогда никаких проблем не было.
С заголовками замучился, и поставил пхпмайлер.
0
0 / 0 / 1
Регистрация: 04.03.2015
Сообщений: 47
30.12.2016, 13:34  [ТС] 15
Цитата Сообщение от Пифагор Посмотреть сообщение
Если только настраивать почтовый сервер. Все почта собирается в папке sendmail (с названием папки могу ошибаться) в виде текстовых файлов.
В папке ничего не создаётся - я уже несколько проверял и до этого ещё проверял. Даже не создаётся файлов error.log и debug.log, хотя вот такие настройки я указал в файле sendmail.ini:

...
; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=error.log;

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

debug_logfile=debug.log;

Добавлено через 1 минуту
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
!sendmail
- такой папки тоже нет, я искал. У меня ос windows xp.

Добавлено через 2 минуты
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
В спаме смотрели?
Да, смотрел - там ничего нет. Пробовал ещё отправить на почту гугл. Туда тоже ничего не приходит.

Добавлено через 2 минуты
Цитата Сообщение от pyramida Посмотреть сообщение
Откройте для себя библиотеку PHPMailer,
Спасибо, вроде хорошая библиотека - я её установил, но там тоже ошибка появилась. Не знаю, ничего, если я сюда помещу ссылку на этот топик - https://www.cyberforum.ru/post9957054.html.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2016, 13:34

Не работает функция mail
Добрый вечер, подскажите, почему не присылается письмо? Ни локально, ни на хостинге.. В чем мой...

не работает функция mail()
отправляю письмо себе на ящик $result = mail('rembo-87@yandex.ru', 'Hello!', 'Hello this is a...

Неправильно работает функция strrev
Пробую функцию реверс строки, этот код- echo strrev(&quot;Hello world!&quot;); // выводит &quot;!dlrow olleH&quot;...

Неправильно работает рекурсивная функция
Всем привет. Ребят, есть вот такая задача: Есть организация. У неё есть всякие подразделения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru