DomenForum.net

DomenForum.net (https://domenforum.net/index.php)
-   Программирование (https://domenforum.net/forumdisplay.php?f=26)
-   -   Помогите с настройкой формы (https://domenforum.net/showthread.php?t=206800)

flare 21.11.2016 17:48

Помогите с настройкой формы
 
Привет всем.

Раньше на сайте стояла эта форма обратной связи и и все работало без проблем. Но теперь почему то если пользователь вводит в качестве обратного адреса ящик mail.ru или его производные, то сообщение пользователя через форму не доходит до меня (на ящик админа). С любыми другими ящиками всё работает нормально. Там у mail.ru что какая то проверка на валидность стоит или что?

Может кто-нибудь подскажет выход из ситуации? не хотелось бы менять форму, уж больно она с сайтом гармонирует))

voron 21.11.2016 21:42

Форма отправляет с какого адреса? Скорее всего с с адреса пользователя, который он указывает в форме... Фактически спам. Сделайте себе технический адрес на своем же домене "123@domain.ru" и шлите с него. Все будет доходить.

pegs 22.11.2016 09:39

Цитата:

Сообщение от flare (Сообщение 1395046)
Раньше на сайте стояла эта форма обратной связи и и все работало без проблем. Но теперь почему то если пользователь вводит в качестве обратного адреса ящик mail.ru или его производные, то сообщение пользователя через форму не доходит до меня (на ящик админа). С любыми другими ящиками всё работает нормально.

На какой email отправляете сообщения? Не на @mail.ru?

flare 22.11.2016 10:44

Цитата:

Сообщение от pegs (Сообщение 1395151)
На какой email отправляете сообщения? Не на @mail.ru?

Нет не на mail.ru. на gmail.com. Но пробовал и на mail.ru - результат тот же.

Цитата:

Форма отправляет с какого адреса? Скорее всего с с адреса пользователя, который он указывает в форме... Фактически спам. Сделайте себе технический адрес на своем же домене "123@domain.ru" и шлите с него. Все будет доходить.
Форма отправляет с адреса, который ввел пользователь в форме. Почему это спам? Всю жизнь не было спамом, а сейчас вдруг стало? Форма только месяц назад начала вот так тупить. А до этого доходили ВСЕ письма.
Сделать тех. адрес не могу на своем домене - это раз. Если форма будет слать письма с моего доменного адреса, то это не уобно при ответах на такие письма. Придется вручную постоянно менять получателя. Это два.

Я ставил форму вообще на другой хостинг (думал может мой IP хоста в черном списке). Нет. Даже на русских хостингах с русскими ИП - такая же ерунда.

Покопавшись во всем этом и проведя разные вариации, я прихожу к выводу, что:

если у вас на сайте стоит форма обратной связи, которая присылает вам письмо, в котором в поле ОТ КОГО пользователь пишет адрес ...@mail.ru - то вы этого письма не увидите. Вот это засада. И что делать? Половина юзеров пользуются сервисом мэйл.ру.

pegs 22.11.2016 11:06

Цитата:

Сообщение от flare (Сообщение 1395159)
Форма отправляет с адреса, который ввел пользователь в форме. Почему это спам?

В частности @gmail проверяет spf запись. Естественно IP Вашего хоста там нет. А в целом надо смотреть все заголовки отправляемых писем.

Цитата:

Сообщение от flare (Сообщение 1395159)
И что делать?

возможно не лениться и
Цитата:

Сообщение от flare (Сообщение 1395159)
вручную постоянно менять получателя

А вообще, есть почтовый заголовок Reply-to, в котором передаёте email отправителя (и тогда при ответе он подставится в получатели). Для From же используете адрес на своем домене для которого прописываете корректную spf-запись (с IP хоста). И при отправке сообщение подписываете его валидной DKIM-записью. И будет Вам счастье :)

flare 22.11.2016 11:13

Цитата:

Сообщение от pegs (Сообщение 1395163)
В частности @gmail проверяет spf запись. Естественно IP Вашего хоста там нет. А в целом надо смотреть все заголовки отправляемых писем.


возможно не лениться и


А вообще, есть почтовый заголовок Reply-to, в котором передаёте email отправителя (и тогда при ответе он подставится в получатели). Для From же используете адрес на своем домене для которого прописываете корректную spf-запись (с IP хоста). И при отправке сообщение подписываете его валидной DKIM-записью. И будет Вам счастье :)

Вот вы много написали) Я просто не особо разбираюсь, но логически понимаю, что вы дело говорите. Только бы еще понять, как реализовать все, что вы посоветовали. Кстати, spf-запись похоже не только гугл проверяет. Я пробовал менять ящик получения писем с формы и на мэйл.ру - результат такой же.

Уважаемый pegs, то есть если я правильно все понял, то моя проблема возникает из-за того, что форма подставляет в поле FROM тот ящик, который пользователь вводит в форму. А нужно, чтобы она подставляла его в REPLY-TO, а в поле FROM прописывала просто какой то доменный адрес (любой даже не существующий). И тогда моя проблема решится и письма будут приходить? Я всё правильно понял?

pegs 22.11.2016 11:21

Цитата:

Сообщение от flare (Сообщение 1395167)
в поле FROM прописывала просто какой то доменный адрес (любой даже не существующий).

Не "просто какой то", а именно валидный email, которому разрешено рассылаться с IP Вашего хоста (т.е. в ДНС-ах для его домена должна быть прописана валидная TXT spf-запись).

voron 22.11.2016 11:35

Цитата:

Сообщение от flare (Сообщение 1395159)
И что делать?

Я же Вам еще в первом своем сообщении сказал что делать. Рецепт прост, проверен и не требует демагогии.

flare 22.11.2016 11:38

Цитата:

Сообщение от pegs (Сообщение 1395173)
Не "просто какой то", а именно валидный email, которому разрешено рассылаться с IP Вашего хоста (т.е. в ДНС-ах для его домена должна быть прописана валидная TXT spf-запись).

Я имел в виду, что не обязательно чтобы сам ящик существовал, верно? Нужно просто прописать txt-запись вида: v=spf1 ip4:88.88.88.88 a mx ~all (где 88888 IP моего сервера).

Или прям нужно чтобы ящик непременно функционировал?

voron 22.11.2016 11:39

Да, ящик должен существовать. Поставьте ему ограничение в 1 метр, чтобы не разрастался от возможного спама и проблема решена.

flare 22.11.2016 11:41

Цитата:

Сообщение от voron (Сообщение 1395178)
Я же Вам еще в первом своем сообщении сказал что делать. Рецепт прост, проверен и не требует демагогии.

Блин ну НЕТ у меня возможности создать РАБОТАЮЩИЙ ящик на своем домене. :)
Нет и всё тут. А даже если и создать, то я честно говоря хз, как переделать готовую форму так, чтобы она слала с одного, а в репли-ту подставляла другой. Вот поэтому и ищу какие то пути...

добавлено через 1 минуту
Цитата:

Сообщение от voron (Сообщение 1395181)
Да, ящик должен существовать. Поставьте ему ограничение в 1 метр, чтобы не разрастался от возможного спама и проблема решена.

Вот теперь всё по полочкам. Спасибо. Значит я уперся в тупик.
Тогда может подскажите решение БЕЗ создания реального ящика? Пусть даже я буду каждый раз вручную менять получателя при ответе на форму. Просто хотя бы чтобы на сайте стояла форма, с которой я буду 100% получать письма от юзеров. Просто другого решения не вижу :(

voron 22.11.2016 11:44

Нет, ну есть вариант использовать и левый ящик - но все равно его надо прописывать...

Цитата:

Сообщение от flare (Сообщение 1395182)
я честно говоря хз, как переделать готовую форму так, чтобы она слала с одного, а в репли-ту подставляла другой. Вот поэтому и ищу какие то пути...

Это придется делать. В любом случае форум переделывать - сейчас она отправляет с "неправильных" адресов.
Наймите программиста, делов на 5 минут.

Да и необязательно reply-to иметь другой, можно настроить переадресацию на нужный email с того, который будет у Вас отправителем.

добавлено через 22 секунды
Цитата:

Сообщение от flare (Сообщение 1395182)
Блин ну НЕТ у меня возможности создать РАБОТАЮЩИЙ ящик на своем домене.

А как такое возможно? Фрихост что-ли?

ekubachev 22.11.2016 11:46

Цитата:

Сообщение от flare (Сообщение 1395182)
Блин ну НЕТ у меня возможности создать РАБОТАЮЩИЙ ящик на своем домене.

В такой ситуации обычно оказывается, что домен НЕ ваш или у вас нет над ним контроля. Договаривайте уже до конца, почему не можете сделать элементарную операцию - создать почтовый ящик на своем домене.

Рассылка писем без реального ящика воспринимается как спам.

flare 22.11.2016 11:49

Цитата:

Сообщение от ekubachev (Сообщение 1395188)
В такой ситуации обычно оказывается, что домен НЕ ваш или у вас нет над ним контроля. Договаривайте уже до конца, почему не можете сделать элементарную операцию - создать почтовый ящик на своем домене.

:D Да нет, всё проще. У меня ВПС. Тот домен, на который она регистрировалась, уже давно просрочен. Вот поэтому и не могу.

добавлено через 3 минуты
Цитата:

Сообщение от voron (Сообщение 1395186)

Да и необязательно reply-to иметь другой, можно настроить переадресацию на нужный email с того, который будет у Вас отправителем.

Честно говоря не понял ничего. Отправитель - e-mail, который в FROM подставляется. Как с него переадресацию сделать и главное зачем? Ведь на него ничего не будет приходить, чтобы переадресовываться.
Может я не так понял что то?

ekubachev 22.11.2016 11:55

Цитата:

Сообщение от flare (Сообщение 1395190)
Да нет, всё проще. У меня ВПС. Тот домен, на который она регистрировалась, уже давно просрочен. Вот поэтому и не могу.

Возможно, я чего-то не понимаю, но нет никакой связи с тем, чтобы создать почту на своем домене и хостингом (впс). Одно другому не мешает.

voron 22.11.2016 11:56

Цитата:

Сообщение от flare (Сообщение 1395190)
Да нет, всё проще. У меня ВПС. Тот домен, на который она регистрировалась, уже давно просрочен. Вот поэтому и не могу.

Вы издеваетесь? А на каком домене у Вас сайт работает сейчас? Вот на нем и прописывайте валидное мыло и шлите с него.


Цитата:

Сообщение от flare (Сообщение 1395190)
Честно говоря не понял ничего. Отправитель - e-mail, который в FROM подставляется. Как с него переадресацию сделать и главное зачем? Ведь на него ничего не будет приходить, чтобы переадресовываться.
Может я не так понял что то?

Вы же с какой-то целью хотели иметь from тех.адрес и reply-to иной - для чего? Вероятно для того, чтоы в случае желания получателя ответить Вам - Вы письмо получили.
Я предложил вариант проще: from и reply-to одинаковые, а на ящике, куда приходит почта стоит редирект на Вашу основную.

Это уже нюансы. Направление движение мы Вам указали. Без валидного мыла почту почти никуда не получите.

flare 22.11.2016 12:16

Цитата:

Сообщение от voron (Сообщение 1395194)
Вы издеваетесь? А на каком домене у Вас сайт работает сейчас? Вот на нем и прописывайте валидное мыло и шлите с него.

Я не сильно разбираюсь. Но когда мы регистрируем новый ВПС или сервер - мы привязываем к нему какой то домен. Без этого никак. Так вот у меня тот серверный домен давно истек и тот кто мне настраивал ВПС, сказал что без него я не смогу ящики создать на своем домене. Но они мне и не нужны были. поэтому не заморачивался.



Цитата:

Вы же с какой-то целью хотели иметь from тех.адрес и reply-to иной - для чего? Вероятно для того, чтоы в случае желания получателя ответить Вам - Вы письмо получили.
Нет. не я хотел, а мне посоветовали так. Здесь же. Изначально я просто хотел чтобы мне письма с сайта с формы доходили))

Цитата:

Я предложил вариант проще: from и reply-to одинаковые, а на ящике, куда приходит почта стоит редирект на Вашу основную.
Так в том то и дело что НИКУДА НЕ ПРИХОДИТ :)
Я же описал проблему: письма с формы до менч не доходят если у юзера ящик мэйл.ру. Какой смысл с него редирект делать, если на него ничего не доходит?



добавлено через 3 минуты
Цитата:

Сообщение от ekubachev (Сообщение 1395193)
Возможно, я чего-то не понимаю, но нет никакой связи с тем, чтобы создать почту на своем домене и хостингом (впс). Одно другому не мешает.

Связи нет? А вы почту не на хостинге создаете??

pegs 22.11.2016 12:43

flare, зарегистрируйте новый (технологический) домен! В чём проблема то? Прикрутите к нему почту (на том же Яндексе) и пропишите валидную spf-запись.

добавлено через 5 минут
Цитата:

Сообщение от voron (Сообщение 1395194)
Я предложил вариант проще: from и reply-to одинаковые, а на ящике, куда приходит почта стоит редирект на Вашу основную.

:)
Вероятно Вы не вникли в суть проблемы. Эти email-ы отправителей формы будут каждый раз разные, поскольку это разные люди. Если он будет эти email-ы подставлять сразу в эти два поля (from и reply-to), то у него ничего не изменится - почта так же не будет доходить до его @gmail ящика.

добавлено через 7 минут
ТС-у нужен валидный (!) для его хоста email в from-заголовке.

flare 22.11.2016 12:53

Цитата:

Сообщение от pegs (Сообщение 1395207)
flare, зарегистрируйте новый (технологический) домен! В чём проблема то? Прикрутите к нему почту (на том же Яндексе) и пропишите валидную spf-запись.

Эх... Попробую конечно, но сомневаюсь в успехе...


Цитата:

Сообщение от pegs (Сообщение 1395207)
Вероятно Вы не вникли в суть проблемы. Эти email-ы отправителей формы будут каждый раз разные, поскольку это разные люди. Если он будет эти email-ы подставлять сразу в эти два поля (from и reply-to), то у него ничего не изменится - почта так же не будет доходить до его @gmail ящика.

ДА! ДА! ИМЕННО!!! )))

Цитата:

Сообщение от pegs (Сообщение 1395207)
ТС-у нужен валидный (!) для его хоста email в from-заголовке.

Ок. Принял. Сейчас попробую отпишу...

pegs 22.11.2016 12:57

Цитата:

Сообщение от flare (Сообщение 1395190)
:D Да нет, всё проще. У меня ВПС. Тот домен, на который она регистрировалась, уже давно просрочен. Вот поэтому и не могу.

Обычно форма не висит в воздухе, а находится на определенном сайте у которого есть конкретный домен. Так вот традиционно используют email на этом домене. Для него (домена) прописывают валидную spf-запись.

voron 22.11.2016 13:00

Вероятно, Вы просто не понимаете до конца о чем мы Вам говорим. Наймите человека - вопрос копеечный, зато сделают с первого раза и точно рабочий вариант. Больше теряете ;)

flare 22.11.2016 13:01

Цитата:

Сообщение от pegs (Сообщение 1395214)
Обычно форма не висит в воздухе, а находится на определенном сайте у которого есть конкретный домен. Так вот традиционно используют email на этом домене. Для него прописывают валидную spf-запись.

Там просто сложности с созданием ящика. Я писал выше. Но сейчас попробую, раз нет других вариантов.

КСТАТИ, в тему этого же прикола.
Есть сервис http://main-ip.ru/genform/register который генерирует формы обратной связи. Генерируешь форму, ставишь html-код в страницу и все. А исполнительные скрипты на их сервере. Так вот я пробовал даже их форму ставить и представляете ТО ЖЕ САМОЕ. Если юзер ввел ящик мэйл.ру то даже через этот чудо сервис ко мне письмо не придет. Как так? Получается что этот сервис http://main-ip.ru/genform/register тоже НАПОЛОВИНУ рабочий?

ekubachev 22.11.2016 13:02

Цитата:

Сообщение от flare (Сообщение 1395198)
Связи нет? А вы почту не на хостинге создаете??

Видимо, вы давно не следите за прогрессом. Почтовый адрес уже давно можно создать на своем домене прибегнув к услугам (бесплатным) и возможностям таких монстров как Яндекс и Гугл. "А-записи" домена указывают на хостинг домена, а "@" указывают на сторонний "почтовый" хостинг от мэтров. Попробуйте, вам обязательно понравится - http://pdd.yandex.ru/

voron, дело говорит - если сами не разбираетесь - наймите специалиста. сделают быстро и не дорого - всяко дешевле, чем за свой опыт платить придется.

flare 22.11.2016 13:07

Цитата:

Сообщение от ekubachev (Сообщение 1395217)
Видимо, вы давно не следите за прогрессом. Почтовый адрес уже давно можно создать на своем домене прибегнув к услугам (бесплатным) и возможностям таких монстров как Яндекс и Гугл. "А-записи" домена указывают на хостинг домена, а "@" указывают на сторонний "почтовый" хостинг от мэтров. Попробуйте, вам обязательно понравится - http://pdd.yandex.ru/

voron, дело говорит - если сами не разбираетесь - наймите специалиста. сделают быстро и не дорого - всяко дешевле, чем за свой опыт платить придется.


Вы правы, давно активно не слежу за прогрессом в данной сфере. Отсюда и проблемы. Ок, попробую последовать совету. Блин и все из-за какой то ФОРМЫ такие танцы с бубном :) капец)

добавлено через 23 минуты
Создал валидный e-mail на домене. И в скрипте вместо:
PHP код:

if( mail($your_email_address$subject$message"From: $input_email") ) 

изменил на:
PHP код:

if( mail($your_email_address$subject$message"From: 3123@domen.com") ) 

Да, проблема, описанная выше, исчезла. Письма теперо доходят даже если ящики от мэйл.ру ввести в форму.
Но теперь другая проблема!!! )))
Получается, что я получаю письмо с формы обратной связи, а там вижу, что в поле ОТ КОГО стоит 3123@domen.com.
Дальше вижу текст самого сообщения. Но я не вижу КТО мне отправил сообщение. У меня нет его адреса, чтобы при ответе на сообщение, вставить его в поле КОМУ.

добавлено через 25 минут
Если я сделаю вот так:

PHP код:

 if( mail($your_email_address$subject$message"From: $input_email""Reply-to: form@nelegalo.biz") ) 

Это поможет?

добавлено через 28 минут
Видимо что то я в коде не так написал. Теперь форма выдает ошибку при отправке. Как бы сделать, чтобы FROM всегда стояло моё, а Reply-to подставлялось из формы?

добавлено через 34 минуты
В общем оставил вот так:
PHP код:

 if( mail($your_email_address$subject$message"From: 3123@domen.com") ) 

А вот это $input_email просто вставил в текст тела письма в конце. Ну я просто хз как по другому.
Если кто знает, как прописать, чтобы сразу в Reply-to подставлялся введенный адрес в форму, то подскажите)

Одно решение вроде есть.

Теперь буду разбираться с Яндексовской почтой)

ekubachev 22.11.2016 13:51

Почитайте ман к mail(). Там хорошо написано как передать доп.заголовки $headers. В нем и передавайте reply-to

pegs 22.11.2016 13:54

Цитата:

Сообщение от flare (Сообщение 1395216)
Там просто сложности с созданием ящика.

Тогда не жадничать и зарегистрировать новый домен. Или сделать поддомен третьего уровня и его использовать, как технологический.

flare 22.11.2016 13:54

Цитата:

Сообщение от ekubachev (Сообщение 1395227)
Почитайте ман к mail(). Там хорошо написано как передать доп.заголовки $headers. В нем и передавайте reply-to

ОооОо... Спасибо за совет, но это точно не по мне, я думаю))) Это вы имеете в виду в самой странице, где форма встроена, в заголовках страницы каким то образом прописать заголовки?

добавлено через 1 минуту
Цитата:

Сообщение от pegs (Сообщение 1395228)
Тогда не жадничать и зарегистрировать новый домен. Или сделать поддомен третьего уровня и его использовать, как технологический.

Ненене с этим уже решено. Я создал ВАЛИДНЫЙ ящик к домену. Получилось. Тут теперь Reply-To надо как то внедрить . Вернее в нее внедрить ящик, который юзер в форме вводит.

добавлено через 19 минут
Сделал вот такую фигню:
PHP код:

if( mail($your_email_address$subject$message"From: form@nelegalo.biz[COLOR="DarkOrange"], Reply-to: $input_email[/COLOR]") ) {
            echo 
'<p class="success">Отправлено. Ожидайте ответа.</p>';
        } else {
            echo 
'<p class="error">Проблема при отправке сообщения! Свяжитесь с нами по ICQ.</p>';
        } 

Просто если сделать вот так:

PHP код:

 if( mail($your_email_address$subject$message"From: 3123@domen.com""Reply-to: $input_email") ) 

то какая то ошибка. письмо не отправляется.

А так всё ок. Отправляется и доставляется. Но когда я его открываю и жму ОТВЕТИТ, то в поле КОМУ у меня подставляется вот такое:

PHP код:

3123@domen.com"Reply-to:" <user@mail.ru

Приходится вручную удалять первый адрес который моего домена. И потом отправлять. Ну в принципе задача практически решена. Всё доходит теперь во всяком случае. Просто хотелось бы как можно меньше движений мышкой при работе :D Хотел чтобы получил с формы письмо, нажал ответить, написал ответ и отправил. Ничего нигде не корректируя))) Так и было раньше.

Всем огромное спасибо за участие!

ekubachev 22.11.2016 14:22

Цитата:

Сообщение от flare (Сообщение 1395229)
From:*form@nelegalo.biz

Позакрывать к чертовой матери надо такие сайты. РКН это уже сделал, надо бы и остальным. И вас, как админа, повесить за причинное место перед матерями утырков-клиентов ваших. Без обид, просто правосудие за деяния.

flare 22.11.2016 14:30

Цитата:

Сообщение от ekubachev (Сообщение 1395237)
Позакрывать к чертовой матери надо такие сайты. РКН это уже сделал, надо бы и остальным. И вас, как админа, повесить за причинное место перед матерями утырков-клиентов ваших. Без обид, просто правосудие за деяния.

Оуоу! Осадите коней)) Это не мой сайт. Это я просто искал варианты и копирнул как вараинт увидел.

добавлено через 20 секунд
А тут уже и подвесить готовы :D:D:D

voron 22.11.2016 15:25

Откуда копирнул-то? ;)

https://yandex.ru/search/?text=%22if...iz%22&lr=10987

https://www.google.ru/webhp?rls=ig&g...elegalo.biz%22

По вашему запросу ничего не нашлось ))

flare 22.11.2016 15:29

Цитата:

Сообщение от voron (Сообщение 1395251)
Откуда копирнул-то? ;)

https://yandex.ru/search/?text=%22if...iz%22&lr=10987

https://www.google.ru/webhp?rls=ig&g...elegalo.biz%22

По вашему запросу ничего не нашлось ))


Ну и запросы у вас надо сказать))) Я сам скрипт формы просто качал измененный видимо вот теми про кого вы говорите. А также смотрел варианты в комментариях их же. И такие комментарии вы в ПСах не найдете никогда. Там же авторизация нужна на ресцусе. Так что я не знаю что вы найти этими запросами пытались)
Уважаемый, вот не надо меня тут на крючок только брать))
Сказал же не мой сайт значит не мой. Какой смысл врать безликой вспышке? :)

miketomlin 23.11.2016 19:11

Вам же предложили полистать доки (ищите по ключам php mail). В соответствии со спецификацией заголовки должны разделяться кодами "\r\n". В линухе иногда достаточно просто "\n", если в используемом ПО настроена прозрачная подмена этого кода на "\r\n".

добавлено через 5 минут
При определенных настройках ящик, с которого идет отправка, можно физически не создавать. Достаточно в SPF записать/приписать IP почтового сервера.


Текущее время: 21:18. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Техническая поддержка — DevArt.PRO. Перевод: zCarot.