Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/53: Рейтинг темы: голосов - 53, средняя оценка - 4.70
phpk
27 / 40 / 13
Регистрация: 15.05.2013
Сообщений: 1,296
1

mail() не отправляет письмо

10.06.2013, 21:32. Просмотров 10771. Ответов 12
Метки нет (Все метки)

подскажите пожалуйста как избавиться от этой ошибки и как отправить письмо?
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ...
PHP
1
2
3
4
5
6
7
8
$to      = 'some_addres@mail.ru';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
mail($to, $subject, $message, $headers);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 21:32
Ответы с готовыми решениями:

Mail не отправляет письмо
Подскажите в чем ошибка почему не доходят письма ? <?php $room = $_POST; $duration =...

Не отправляет письмо, когда пользуюсь функцией mail
Не отправляет письмо, когда пользуюсь функцией mail. Почитал немного, в php(у меня стоит пакет...

Функция mail не отправляет письма на gmail, а на остальные отправляет
Вот код отправки $from = 'register@gmail.com'; $message = 'Login - <strong>' . $name ....

PHP sendmail ($t=mail('my@mail.ru', 'tema', 'mess');) не отправляет
Надо из php mail отправить, пишу так: <? $t=mail('my@mail.ru', 'tema', 'mess'); print $t; ?> ...

Отправляет письмо в неправильной кодировке
при отправке данные, на почту приходят козявки и echo тоже их выводит..как это настроить? и еще...

12
Stifard
5 / 5 / 1
Регистрация: 12.05.2013
Сообщений: 37
10.06.2013, 21:47 2
Failed to connect to mailserver
Не удалось подключиться к почтовому серверу
0
phpk
27 / 40 / 13
Регистрация: 15.05.2013
Сообщений: 1,296
10.06.2013, 22:27  [ТС] 3
настройки php.ini:
SMTP = smtp.mail.ru
smtp_port = 25
sendmail_from = me@example.com
;sendmail_path =
может надо что-то исправить?

Добавлено через 24 минуты
можно ли из виндовс запустить эту функцию?
0
Ufon
19 / 19 / 7
Регистрация: 30.12.2012
Сообщений: 166
11.06.2013, 14:03 4
смотрите поддержку почтового сервера у вас на хосте
0
11.06.2013, 14:03
phpk
27 / 40 / 13
Регистрация: 15.05.2013
Сообщений: 1,296
11.06.2013, 22:58  [ТС] 5
Цитата Сообщение от Ufon Посмотреть сообщение
смотрите поддержку почтового сервера у вас на хосте
а где именно смотреть?
в этих вопросах ещё не очень разбираюсь, учусь
0
phpk
27 / 40 / 13
Регистрация: 15.05.2013
Сообщений: 1,296
16.06.2013, 10:10  [ТС] 6
тестирую на локалке, ос - windows, не денвер.
php установлен как модуль.
уже пробовал по разному, ещё не получилось:
1)
Вносим изменения в файл php.ini:

[mail function]
SMTP =
sendmail_from =
sendmail_path = "C:\Program Files\sendmail\sendmail.exe -t -i"// без -i тоже не работает

настройки sendmail.ini
smtp_server=smtp.mail.ru; адрес SMTP сервера
smtp_port=25; порт SMTP сервера

default_domain=mail.ru; домен по-умолчанию

error_logfile=error.log; файл в который будет записываться лог ошибок

debug_logfile=debug.log; очень полезная на этапе отладки опция. Протоколируются все операции, которые выполняет sendmail

auth_username=account_name@mail.ru; имя вашего аккаунта
auth_password=account_password; ваш пароль

; следующие три опции используются если перед авторизацией на SMTP сервере требуется авторизация на POP3 сервере
pop3_server=pop.mail.ru
pop3_username=account_name@mail.ru
pop3_password=account_password

; параметр для команды MAIL FROM
force_sender=account_name@mail.ru

hostname=mail.ru
2) пробовал и такие настройки:
[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=localhost

; smtp port (normally 25)

smtp_port=25

; SMTPS (SSL) support
; auto = use SSL for port 465, otherwise try to use TLS
; ssl = alway use SSL
; tls = always use TLS
; none = never try to use SSL

smtp_ssl=auto

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

default_domain=localhost

; 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

; if your smtp server requires authentication, modify the following two lines

auth_username=admin@localhost
auth_password=admin

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines. do not enable unless it is required.

pop3_server=
pop3_username=
pop3_password=

; to force the sender to always be the following email address, uncomment and
; populate with a valid email address. this will only affect the "MAIL FROM"
; command, it won't modify the "From: " header of the message content

force_sender=

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting. you can manually set the ehlo/helo name if required

hostname=
не хочет работать
никакие временные файлы не создаются в папке !tmp тоже.
что подскажите?
В книге говорится что есть две взаимоисключающие настройки в php.ini
1)SMTP = и
2) sendmail_path =
smtp = mail.ru не подходит

Добавлено через 11 минут
PHP
1
if(mail("someaddress@mail.ru","test","Hello")) echo "отправлено!";
такой простой код должен ведь отправить?
someaddress@mail.ru естественно моя почта

Добавлено через 16 минут
пишет что отправлено, но на почту не приходит

Добавлено через 8 часов 4 минуты
кто-то подскажет?
0
Alex_Ander
Заблокирован
16.06.2013, 11:40 7
пишет что отправлено, но на почту не приходит
пхп какбы не умеет отправлять, он лишь передает данные, если передал, то mail() = true

у тебя вообще есть sendmail.exe?

Кликните здесь для просмотра всего текста
в денвере есть заглушка, письма сохраняются в tmp/!sendmail/
0
phpk
27 / 40 / 13
Регистрация: 15.05.2013
Сообщений: 1,296
16.06.2013, 11:53  [ТС] 8
Цитата Сообщение от Alex_Ander Посмотреть сообщение
у тебя вообще есть sendmail.exe?
конечно есть. Выше я показывал путь к нему
sendmail_path = "C:\Program Files\sendmail\sendmail.exe -t -i"// без -i тоже не работает
Цитата Сообщение от Alex_Ander Посмотреть сообщение
в денвере есть заглушка, письма сохраняются в tmp/!sendmail/
у меня не денвер, я говорил
0
3dmaksik
0 / 0 / 0
Регистрация: 19.06.2013
Сообщений: 8
19.06.2013, 14:30 9
А с чего это локальный компьютер должен куда то отправить? Письмо дальше компьютера не уйдёт
0
palva
3228 / 2329 / 482
Регистрация: 08.06.2007
Сообщений: 8,397
Записей в блоге: 4
19.06.2013, 14:37 10
Если на локальном компьютере установлен smtp сервер, то он должен принять письмо.
Другое дело, что smtp сервер с локального компьютера мало куда сможет это письмо отправить далее, поскольку ему никто не поверит, что он не спамер, но mail должен отработать без ошибок.
0
3dmaksik
0 / 0 / 0
Регистрация: 19.06.2013
Сообщений: 8
19.06.2013, 17:43 11
Цитата Сообщение от palva Посмотреть сообщение
Если на локальном компьютере установлен smtp сервер, то он должен принять письмо.
Другое дело, что smtp сервер с локального компьютера мало куда сможет это письмо отправить далее, поскольку ему никто не поверит, что он не спамер, но mail должен отработать без ошибок.
Для этого же нужен домен с настроенным днс почты, чтобы даже при помощи mail(); можно было отправить, а то как php
узнает с какого ему адреса отправлять на почту
0
palva
3228 / 2329 / 482
Регистрация: 08.06.2007
Сообщений: 8,397
Записей в блоге: 4
19.06.2013, 18:00 12
домен localhost порт 25. Программа sendmail говорит же в диагностике, с каким сервером она неудачно пыталась связаться. Если это то, что нужно, то надо установить локальный сервер. Если не то, то надо разбираться в каком месте указать необходимые настройки. А то бывает php.ini лежит в нескольких местах а в реальности используется какой-то еще экземпляр файла, о которой пользователь и не подозревает.
0
3dmaksik
0 / 0 / 0
Регистрация: 19.06.2013
Сообщений: 8
19.06.2013, 21:11 13
Цитата Сообщение от palva Посмотреть сообщение
домен localhost порт 25.
Речь вроде шла об отправке на обычную реальную почту, а не локальную. А остальным да согласен, что надо разбирать всё.
0
19.06.2013, 21:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 21:11

Не отправляет письмо на почту (sendmail)
error.log 16.02.13 14:30:03 : Connect timed out. Следовал инструкциям на многих сайтах по...

Пользователь отправляет письмо другому пользователю...
Добрый вечер, у меня такой вопрос, пользователь отправляет письмо другому пользователю -> заносит...

PHP не отправляет письмо на почтовый ящик
Почему не отправляется письмо? $to = 'адрес@yandex.ru'; $subject = 'Тема'; $msg =...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru