15.05.2010, 18:35 | #1 |
Эксперт
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
|
На один email почта от скрипта приходит, на другой - нет. В чем причина?
Есть на одном моем сайте вот такой php-скрипт для отправки данных на мой email:
<? if (isset($_POST['ok'])) { if (mail('myemail@site.com','Termoregulator',"FIO:\n{ $_POST['fio']}\nPhone\n{$_POST['phone']}")) $a=true; } if (isset($a)) { ?> Ваша заявка принята! <a href='index.htm'>Возврат на сайт</a>. <? } ?> Так вот, когда на месте myemail@site.com указан адрес myemail@gmail.com - письма приходят на него моментально. А когда ставлю myemail@mysite.org.ua (этот адрес поддерживается через Почту для домена Яндекса http://pdd.yandex.ru/ ) - письма скрипта в этот ящик не приходят. Ни сразу, ни попозже. Спам ящика проверял, там тоже нет. Причем других замечаний к ящику нет, с других адресов письма получает без проблем. В чем может быть причина этой проблемы? |
16.05.2010, 17:01 | #2 |
Магистр
Регистрация: 04.12.2007
Сообщений: 3,680
Вес репутации: 416
|
Функция mail использует (наверное- на сто процентов не уверен, но по логике- должна) гдето в настройках прописанный смтп-сервер, который по сути и отправляет почту. Так вот, если он на один домен отправляет, а на другой нет- то значит, сам он работает и дело скорее всего либо в какихто ограничениях на нем- может гдето там прописано штоп на орг-уа не отправлять (бред, но всякое бывает), либо в ограничениях принимающего сервера- например, если ваш смтпшник когдато засветился как открытый релей и попал в соответствующую базу- многие сервера могут отказывать таким смтпшникам в приеме от них почты..
Как то так..
__________________
|
17.05.2010, 00:59 | #3 | |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 368
|
Цитата:
по дефолту команду sendmail, но команда sendmail не обязательно сам sendmail, это может быть как и алиас заглушки или любой другой программы (не обязательно почтовой, но как правило почтовой), например postfix, exim и т.д. следовательно следует выяснить что за команда sendmail (как правило делается через sendmail -v), а дальше смотреть логи той программы (как правило лежать в /var/log). |
|
17.05.2010, 07:44 | #4 |
Специалист
Регистрация: 29.02.2008
Сообщений: 121
Вес репутации: 202
|
яндекс очень жестко относится к почтовикам присылающим почту. Поэтому проверяйте что бы была обратная зона на IP адресе с которого идет почта и немаловажно что бы были корректные ответы почтовику.
Например ваш домен site.ru(IP:111.222.111.222) с которого отсылаете почту через mail. Пуск -> Выполнить -> cmd Код:
C:\Documents and Settings\Vasya>nslookup 111.222.111.222 Server: ns1.vasvas.ru <- NS вашего провайдера Address: 199.99.99.9 <- IP-NS вашего провайдера Name: site.ru <- Reverse DNS для IP вашего домена, \\ может быть любой но важно, что бы не пустой, \\ и не всякие там DSL Address: 111.222.111.222 <- IP который запрашивали Для этого в винде есть терминал, но это очень нудная процедура поэтому поищем сервис который все это может сделать для нас в один клик. О! емое! вот же он http://dnsstuff.fastnext.ru/index.ph...report=site.ru Смотрим там в разделе MX записи Reverse DNS entries for MX records, и в разделе Mail отчет о Mail server host name in greeting(хост майл сервера в приветствии) и ниже см лог обмена рукопожатиями майлсерверов. То есть если у вас майлсервер например mx1.site.ru то лог должен быть типа так Код:
<<< 220 site.ru ESMTP FuckingMailer 4.69 Mon, 17 May 2010 07:24:09 +0400 >>> HELO www.dnsstuff.fastnext.ru <<< 250 site.ru Hello www.dnsstuff.fastnext.ru [65.98.8.34] >>> mail From: dnsstuff@fastnext.ru <<< 250 OK >>> RCPT To: postmaster@site.ru <<< 250 Accepted >>> DATA <<< 354 Enter message, ending with "." on a line by itself <<< 250 OK id=19Dqx5-0007Is-FB PS:спасибо высылать в евро или чеками американ экспресс. Последний раз редактировалось Optimizator1; 17.05.2010 в 07:50. |
17.05.2010, 09:38 | #5 | |
Эксперт
Регистрация: 26.08.2007
Сообщений: 1,580
Вес репутации: 270
|
Цитата:
Функция mail() всегда считает что на свой домен письма отправляются локально. там есть какие то решения, но я просто завел транзитный ящик который переправляет куда надо. |
|
17.05.2010, 10:30 | #6 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 368
|
|
17.05.2010, 11:59 | #7 |
Магистр
Регистрация: 04.12.2007
Сообщений: 3,680
Вес репутации: 416
|
Я когдато давно кстати тоже карячился с подобной бедой. Потом плюнул, купил у мастерхоста почтовый аккаунт за 6 долларов в год (точно не помню) и теперь у меня есть проверенный и доверенный смтпшник, с которого отсылается почта из всех скриптов..
__________________
|
17.05.2010, 14:38 | #8 |
Мастер
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
|
Чтобы самому отправлять почту через smtp, надо писать функцию (ну или сторонние разработки использовать или иметь доступ к настройкам php), а что делать если скрипты на это не расчитаны?
Потом я лично не считаю, что smpt-сервер нормального хостера чем-то отличается от купленного. Проблема тут в том, что почтовые сервера режут перенаправленные письма или вообще от заголовков письма. Я лично видел, как письма резались по обратному адресу (например c info@domain.ru режутся, а c noreply@domain.ru доходят). Если учесть, что в примере ТС вообще обратный адрес не проставляется, то там что угодно может с письмом происходить. Видимо под фильтр какой-то попадает. |
17.05.2010, 19:36 | #9 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 368
|
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Основной email - причина изменения | Globaldota | Вопросы по работе системы | 1 | 11.12.2009 06:08 |
Как поменять один фильтр на другой? | Danila | Вопросы по работе системы | 0 | 07.12.2009 17:46 |
Как О поменять один автофильтр на другой? | Danila | Вопросы по работе системы | 3 | 03.07.2009 20:38 |
Не приходит письмо-подтверждение о переносе сайте на другой аккаунт | Sarkis | Вопросы по работе системы | 3 | 21.05.2009 00:52 |
Аккаунт один - скрипт другой! | Rommaa | Вопросы по работе системы | 4 | 18.12.2007 19:51 |
Часовой пояс GMT +3, время: 02:05.