[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Неправильно работает функция mail
Страницы: 1, 2
tretstoun70
Здравствуйте,

у меня появляются ошибки при работе функции mail.

Установил программу sendmail. (http://www.glob.com.au/sendmail/ - адрес сайта, если надо, не знаю).

Настроил файл sendmail.ini (по руководству):

; configuration for fake sendmail

; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail

[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=smtp.mail.ru;

; 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=ssl

; 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=mail.ru;

; 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= qwertyRoman7@mail.ru;
auth_password= qwerty712

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

pop3_server= pop.mail.ru
pop3_username= qwertyRoman7@mail.ru;
pop3_password= qwerty712

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

force_sender= qwertyRoman7@mail.ru;

; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify
; the "To: " header of the message content

force_recipient=

; 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= mail.ru

Если отправлять письмо с помощью функции mail, то появляется такое сообщение об ошибке:

Warning: mail() [function.mail]: SMTP server response: 550 SMTP is available only with SSL or TLS connection enabled. in C:\Program Files\xampp\xampp\htdocs\other_examples\mail.php on line 13,

хотя вроде как установил параметр:

smtp_ssl=ssl.

Пробовал установить туда же значение: tls - результат тот же самый, такая же ошибка. Кто-нибудь сталкивался с чем-нибудь похожим?
Игорь_Vasinsky
а накой тебе smtp для заглушки ?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
arbuzmaster
Насколько я помню smtp yandex Google работают по 465 порту а не по 25 погуглите настройки smtp для mail.ru - процентов на 90 он тоже использует 465 порт, а у Вас стоит 25

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
tretstoun70
Цитата (Игорь_Vasinsky @ 24.12.2016 - 16:16)
а накой тебе smtp для заглушки ?


Не знаю, в руководстве было написано, что так надо настраивать. Я раньше почтой никогда не пользовался, поэтому не знаю как по-другому.
tretstoun70
Цитирую руководство:

"Дело в том, что функция mail сама по себе почту не отправляет, она просто вызывает программу sendmail, которая в дистрибутив web сервера и php интерпретатора не входит (и не должна).
Sendmail, в свою очередь, для отправки почты использует SMTP сервер.
Таким образом, чтобы php скрипт мог отправлять почту нужно установить и настроить sendmail и SMTP сервер."
tretstoun70
Цитата (arbuzmaster @ 24.12.2016 - 17:48)
а у Вас стоит 25

спасибо, там вроде как действительно неправильное значение. Вот то, что написано на сайте mail:

SMTP — 465 (протокол шифрования SSL/TLS).

Установил это значение, но всё равно не работает. Появляется такая ошибка:

Warning: mail() [function.mail]: Failed to connect to mailserver at "" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\xampp\xampp\htdocs\other_examples\mail.php on line 13

В файле php.ini я поставил значения как было написано в руководстве:

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

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from =

; 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"
arbuzmaster
Попробуйте там прописать такой же порт 465, или закоментируйте ее иначе по умолчанию он будет ломится на 25 порт
 ;smtp_port =

С SMTP= аналогично или прописать или закоментировать

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
qpurypaHT
зачем вам весь этот геморрой?
для чего вы настраиваете локальный web-сервер?

_____________
Если долго в одних стенах живешь, ты с ними сростаешься
tretstoun70
Цитата (arbuzmaster @ 26.12.2016 - 20:27)
Попробуйте там прописать такой же порт 465


Поставил такие же значения, но появляется та же ошибка. Ошибка осталась та же.
tretstoun70
Цитата (Stave @ 26.12.2016 - 22:53)
для чего вы настраиваете локальный web-сервер?


Хочу функцию mail запустить, реализовать отправку почту с сайта.
tretstoun70
Цитата (tretstoun70 @ 27.12.2016 - 13:13)
Попробуйте там прописать такой же порт 465


Добавил заголовок:

"Reply-To: <qwertyRoman7@mail.ru>" . "\r\n"

Теперь письмо отправляется, но на почту ничего не приходит, пробовал отправлять на другую почту, но тоже ничего не пришло.

В чём может быть ошибка?
Valick
tretstoun70, вам никто не разрешит отправлять письма с домашнего компа. Тоже мне "розовая мечта спамера".


_____________
Стимулятор ~yoomoney - 41001303250491
arbuzmaster
Ну х.з. Я в прошлом году настраивал на Debian, всё работало - возможно письма в спам попадают!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
qpurypaHT
Цитата (tretstoun70 @ 27.12.2016 - 15:18)
Цитата (Stave @ 26.12.2016 - 22:53)
для чего вы настраиваете локальный web-сервер?


Хочу функцию mail запустить, реализовать отправку почту с сайта.

Я к тому, что если вы планируете программировать, какой смысл делать это на полукривом неидентичном локале!? ведь нужно уметь вкладывать в себя и работать платно на хостинге. Мне кажется вы не из тех людей, кто будет экономить на завтраке в школе, дабы собрать 200р в месяц на оплату хостинга

_____________
Если долго в одних стенах живешь, ты с ними сростаешься
Guest
Цитата (Valick @ 27.12.2016 - 18:39)
вам никто не разрешит отправлять письма с домашнего компа.


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

Цитата (arbuzmaster @ 27.12.2016 - 18:53)
возможно письма в спам попадают!


Не, ничего не приходит - я даже ещё на одну почту отправил для проверки. В спаме ничего нет и никаких временных файлов в папке sendmail тоже не создаётся.

Цитата (Stave @ 28.12.2016 - 00:05)
работать платно на хостинге.


Вы думаете, что на хостинге письма будут отправляться? Изначально я хотел тестировать различные возможности на локальном веб-сервере.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.