Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не отправляется простейшая почта mail

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Webtest
Отправлено: 16 Сентября, 2014 - 12:18:24
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




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

Подскажите, почему простейший код по отправке почты выдает ошибку, а не отправляет почту?
PHP:
скопировать код в буфер обмена
  1. $to1 = 'тут мой почтовый ящик';
  2. $subject1 = 'head';
  3. $message1 = 'message';
  4. $test = mail($to1, $subject1, $message1);
  5. if (!$test) {
  6.         echo 'error';
  7. }

(Отредактировано автором: 16 Сентября, 2014 - 12:20:08)

 
 Top
Sail
Отправлено: 16 Сентября, 2014 - 12:34:45
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Webtest пишет:
почему простейший код по отправке почты выдает ошибку, а не отправляет почту?

Быть может, стоит для начала глянуть логи почтового сервера, или php_error_log, или mail.log?

(Отредактировано автором: 16 Сентября, 2014 - 12:40:12)

 
 Top
RickMan
Отправлено: 16 Сентября, 2014 - 12:55:02
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Если следовать документации и коду который вы дали то получается, что у вас "иной случай".
Вырезка из документации:
Цитата:
mail() возвращает TRUE, если почта была успешно принята для доставки, FALSE в ином случае.

Помогло?
 
 Top
Webtest
Отправлено: 16 Сентября, 2014 - 13:00:31
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Sail, а где эти логи глянуть? Через ерор_репорт-1 ничего не выводит.
 
 Top
RickMan
Отправлено: 16 Сентября, 2014 - 13:22:47
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Попробуй так:
PHP:
скопировать код в буфер обмена
  1. ini_set('error_reporting', E_ALL);
  2. ini_set('display_errors', 1);
  3. ini_set('display_startup_errors', 1);

Именно вставь это до отправки емайла...
А по поводу логов. Вы не думали указать хотябы ОС?
 
 Top
Webtest
Отправлено: 16 Сентября, 2014 - 13:33:22
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




RickMan, не знаю, а где глянуть в чем состоит этот иной случай?
Да, я это уже смотрел.
(Добавление)
RickMan, ubuntu, вставил, все равно ни 1 лога об ошибке, только вывод еррор с !$test
 
 Top
RickMan
Отправлено: 16 Сентября, 2014 - 13:44:34
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Цитата:
/var/log/apache2/error.log
- там логи ошибок.
И вместо вывода просто слова error попробуй это:
 
 Top
Sail
Отправлено: 16 Сентября, 2014 - 13:44:51
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Webtest пишет:
Sail, а где эти логи глянуть? Через ерор_репорт-1 ничего не выводит.

Гляньте тут
 
 Top
Webtest
Отправлено: 16 Сентября, 2014 - 14:00:49
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




ВОт лог с /var/log/apache2/error.log:
Спойлер (Отобразить)
 
 Top
RickMan
Отправлено: 16 Сентября, 2014 - 14:07:44
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




У тебя не установлен sendmail
http://www.codechewing.com/library/usr-sbin-sendmail-not-found-error-phpmailer/

(Отредактировано автором: 16 Сентября, 2014 - 14:07:56)

 
 Top
dcc0
Отправлено: 16 Сентября, 2014 - 14:23:47
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




RickMan пишет:
mail() возвращает TRUE, если почта была успешно принята для доставки, FALSE в ином случае.

Под Windows так, если php.ini настроен, т.е.

[mail function]
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\sendmail\sendmail.exe -t -i"

то в любом случае вернется true, даже если sendmail вообще нет. Функция php отдала задачу, а дальше не ее дело =)
Под win в php.ini достаточно строчки к sendmail.exe
но под linux примерно то же самое.
В любом случае надо настраивать sendmail.ini

И почему никто почту через сокеты не хочет отправлять?

(Отредактировано автором: 16 Сентября, 2014 - 14:31:50)



-----
Март 2021. Бросил программирование
 
 Top
Webtest
Отправлено: 16 Сентября, 2014 - 14:37:43
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




dcc0 пишет:
И почему никто почту через сокеты не хочет отправлять?

Это как?
 
 Top
dcc0
Отправлено: 16 Сентября, 2014 - 14:40:10
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




http://www.php.su/articles/?cat=...ail&page=007
В принципе там рабочий пример.
Я правда, для себя его немного модифицировал


-----
Март 2021. Бросил программирование
 
 Top
RickMan
Отправлено: 16 Сентября, 2014 - 14:46:30
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Ну как по мне, так тогда уже лучше использовать сторонник сервисы. К примеру
http://mandrill[dot]com/
Есть готовое API на PHP и 12000 писем в месяц слать можно за бесплатно. Так письма 100% дойдут... И гемора с настройкой нету...
 
 Top
dcc0
Отправлено: 16 Сентября, 2014 - 18:16:39
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Я так понимаю, надо отправлять с сайта письма на ящик на другом сайте? Т.е. что-то вроде relay
Тут вроде есть такой рецепт
http://realadmin[dot]ru/saytostroy/f[dot][dot][dot]-on-hosting[dot]html


Если с sendmail не получается рецепт для Ubuntu для exim
http://www.it-35.ru/linux-world/20-nastroyka-otpravki-pochty-v-php-cherez-exim.html

(Отредактировано автором: 16 Сентября, 2014 - 20:39:02)



-----
Март 2021. Бросил программирование
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB