0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 23
|
|
1 | |
Как узнать код ошибки sendmail, и что он там возвращает?07.01.2020, 12:55. Показов 1316. Ответов 4
Метки нет (Все метки)
Интернет-магазин, форма приёма заказов. Надо, чтобы одно письмо шло админстратору, второе - кленту.
Администртору - пишу: open (SENDMAIL, "|/usr/sbin/sendmail -t") or die "<p align=center>Ошибка приёма заказа: sendmail not ready</p>"; print SENDMAIL "From: САЙТ.RU <no-reply\@сайт.ru>\n"; print SENDMAIL "To: The Admin <1\@сайт.ru>\n"; print SENDMAIL "Subject: Новый заказ на сайте!\n\n"; print SENDMAIL "$datatext"; close (SENDMAIL) or print "<p align=center>Ошибка приёма заказа!</p>"; Письмо удачно приходит. Клиенту отпраляю письмо так же, только данные взяты из кук: @cuu=split('=',$cookieuser); @cuf=split('=',$cookiephone); @cue=split('=',$cookieemail); open (SNDMAIL, "|/usr/sbin/sendmail") or print "<p align=center>Ошибка отправки почты Вам: sendmail not ready<p>"; print SNDMAIL "From: Интернет-магазин САЙТ.RU <no-reply\@сайт.ru>\n"; @cuee=split(/@/,$cue[1]); print SNDMAIL "To: $cuu[1] <$cuee[0]\@$cuee[1]>\n"; print SNDMAIL "Subject: Ваш заказ на сайте САЙТ.RU\n\n"; print SNDMAIL "$datatext"; my $sgsent="Письмо с Вашим заказом направлено на электронную почту $cue[1]."; close (SNDMAIL) or $msgsent="Ошибка отправки почты по адресу $cuee[0]\@$cuee[1]."; print "<p align=center>Уважаемый(ая) $cuu[1], Ваш заказ принят!<br><br>Мы свяжемся с Вами по телефону $cuf[1] в рабочее время для подтверждения заказа.<br><br>$msgsent</p>"; Письмо не доходит, сайт загружается так: Уважаемый(ая) Володарь (имя клиента из кук), Ваш заказ принят! Мы свяжемся с Вами по телефону +79ОО765741Щ (телефон из кук) в рабочее время для подтверждения заказа. Ошибка отправки почты по адресу адрезз@yandex.ru (э-мыло из кук). Второе письмо не приходит, не могу понять, почему. Как получить строку, которую sendmail (либо любая внешняя программа) возвращает?
0
|
07.01.2020, 12:55 | |
Ответы с готовыми решениями:
4
Как узнать что сайт под фильтром или был там? Тело POST запроса. Как самому узнать, что там должно быть? Как узнать что возвращает предикат Как переделать код что б там были указатели ! |
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
08.01.2020, 00:58 | 2 | |||||
Самое простое - перенаправить в файл поток вывода и поток ошибок
0
|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 23
|
|||||||||||
08.01.2020, 10:36 [ТС] | 3 | ||||||||||
Файл создаётся.
Если
Exim is a Mail Transfer Agent. It is normally called by Mail User Agents, not directly from a shell command line. Options and/or arguments control what it does when called. For a list of options, see the Exim documentation. Если
Лог сендмейловский на сервере.
0
|
5984 / 1993 / 323
Регистрация: 10.12.2013
Сообщений: 6,874
|
|
08.01.2020, 12:51 | 4 |
никакого sendmail в системе нет, это exim. И слава богу ( аллаху? вицлипуцли ? )
0
|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 23
|
|
09.01.2020, 10:31 [ТС] | 5 |
Спасибо. Я лишь не указал ключ -t.
Читаю man exim: If no options are present that require a specific action ... and there are no arguments on the command line, Exim outputs a brief message about itself and exits. Теперь всё работает.
0
|
09.01.2020, 10:31 | |
09.01.2020, 10:31 | |
Помогаю со студенческими работами здесь
5
Как в PHP определить причину ошибки? где смотреть логи или что там еще? Как узнать код ошибки Как узнать код ошибки обновлений? Подскажите пожалуйста, как программным путем можно узнать код ошибки??? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |