Не могу разобраться с WEB формой.

Advanced Mass Sender tech support

Модератор: Max Terentiev

Ответить
Сообщение
Автор
akigleo
Сообщения: 6
Зарегистрирован: Пт сен 16, 2011 7:12 am

Не могу разобраться с WEB формой.

#1 Сообщение akigleo » Вс ноя 06, 2016 7:34 pm

Вроде делаю все верно, получаю письмо на тестовый e-mail со ссылкой на адрес активации, но когда перехожу по ссылке получаю ошибку:

Unable to decode URL !

То есть выходит, что длиннющий URL на подтверждение http://somesite.ru/ams/amsweb.php?IVH7K ... ys%2B0Wqu1 сам же скрипт «не узнает».

Что не так?

Кроме того, после неудачи подтверждения, программа где то их помнит такие адреса и перестает отправлять на такой e-mail подтверждение.

В частности, когда первый раз отправляешь, то в логе пишется: “Это правило требует подтверждения перед выполнением действий. Запрос на подтверждение для адреса: name@somesite.com добавлен в 'Исходящие'».
После того, как получена ошибка: «Unable to decode URL !» при повторных попытках подписаться на тот же e-mail в логах вылазит ошибка:
«Сабмит этой формы уже был принят ранее. Запрос на подтверждение уже есть в 'Исходящих'».
Где эти исходящие и как их очистить?

akigleo
Сообщения: 6
Зарегистрирован: Пт сен 16, 2011 7:12 am

#2 Сообщение akigleo » Пн ноя 07, 2016 12:30 pm

Сам задал вопросы и сам же на них отвечаю :D
Unable to decode URL !
Эта милая ошибка вылазит, если в Input Mail Processor в разделе Настройки / Открыть редактор писем не вставить свою ссылку Подтверждения.
Главная подлянка заключается в том, что там такая ссылка уже стоит и ты думаешь, что все подготовлено по умолчанию, а кнопки "Изменить" , чтобы посмотреть что там внутри - нет. Однако, когда вставляешь новую ссылку, то там обнаруживается еще один скрытый пункт: "После подтверждения направить на URL".
Так вот, после того, как я его заполнил, то и ошибка Unable to decode URL ушла и форма полноценно заработала.

Где кнопка, чтобы очистить Исходящие я не нашел. Подозреваю, что ее и не было никогда. :D
Просто в настройках поставил срок ожидания подписки/отписки 1 день и тесовые e-mail удалились из Исходящих.

akigleo
Сообщения: 6
Зарегистрирован: Пт сен 16, 2011 7:12 am

#3 Сообщение akigleo » Ср ноя 16, 2016 12:03 pm

Это все понятно и так.
Вопрос выше был о том, что одна настройка была закопана в недрах, а без ее явного указания форма "глючила". Когда разобрался, то просто привел описание как решил для случая, если кто-то наступит на те же грабли.

Есть еще вопрос. При настройке формы (Правило обработки WEB форм) можно выбрать Имя и e-mail.
Допустим, я хочу передавать еще и URL, чтобы ориентироваться откуда прилетело. Я понимаю, что по=хорошему для каждой формы нужно прописывать отдельную папку подписчиков, подтверждающих сообщений и т.п. Это морочно, поскольку функционала дублирования имеющихся записей для последующей корректировки нет.

Поэтому попробовал в форму добавить по аналогию со стандартным значениями:

Код: Выделить всё

 <input type="hidden" name="FormID" value="SubscribeFrm">

Код: Выделить всё

 <input type="hidden" name="FormProgID" value="MPC_1327">
что-то типа:

Код: Выделить всё

<input type="hidden" name="FirstName" value="somesite.com">

Код: Выделить всё

< input type="hidden" name="FormFirstName" value="somesite.com" >
но результата достичь не удалось. E-mail и Имя пользователя передаются в AMS успешно, а вот FirstName пустое, хотя там была надежда увидеть somesite.com

Что не так?

partnerweb

#4 Сообщение partnerweb » Ср ноя 16, 2016 1:07 pm

Спасибо Вам, что тратите свое время, для пользы иных пользователей ПО!
Относительно Вашего вопроса, не совсем понял чего Вы пытаетесь достичь. Скорее всего стандартными функциями ПО, собрать всю инфу не получится.
Но если я правильно понял и Вы хотите отслеживать "по полной" открытие писем и сделать это решение универсальным, то может попробовать так:
1.В базе получателей есть поля (допустим E-mail, Name, FName и др. нужные Вам).
2.Выдергиваем из АМС нужный список (пусть у списка будет 4 поля).
3.Пишем скрипт который построчно считывает данные из листа получателей + чуток шифрует данные.
4.Пусть скрипт сохраняет список - пример: vasy@mail.ru,Вася,Вася Пупкин,JJku9yyvfsdivsvsbdvisvusdvsivseyufwebvyisevbweivbwiunsiyvsivwbev
5.Последнее поле в новом списке - это закодированные по вашему собственному алгоритму поля (E-mail, Name, FName, Info).
6.Добавляем в подстановки АМС - 10 своих доменов, пусть подстановка называется [%%url%%]
7.Создаем на раб.столе папку BODY, с телами HTML писем, в которых будут ссылки на ваши 10 доменов с php-обработчиком
8.В итоге ссылка будет рандомиться по доменам + именам обработчиков и даже по имени переменной и иметь вид
http://[%%url%%]/[%%file%%].php?[%%post%%]=[%%INFO%%]
9.На хостинге 10 доменов + 10 обработчиков у каждого (или настроить редиректы по маске на оные)
10.Каждый обработчик собирает нужную инфу и складирует ее у себя. Инфа например может быть такой >>

Код: Выделить всё

vasy@mail.ru,Вася,Вася Пупкин,124.0.16.100,21.11.16-18.20.59,http&#58;//forum.bspdev.com,Firefox 105
11.Что бы Вам не шарахаться потом по всем сайтам и не собирать статистику, другой скрипт, на денвере или где угодно (но в одном надежном месте), раз в 1 мин. собирает все данные в один список.
12.Относительно дубликатов записей (их удаления) можно реализовать в самом скрипте сборщике и/или даже лучше там такую функцию сделать Вкл/Выкл, а то потом вдруг Вам захочется проанализировать и именно дубли записей Вам станут нужны.
13.Ну а с импортом такой базы в отдельный список получателей АМС, проблем ни каких нет.

И что мы получаем от всего этого >>> рандом доменов для отслеживания открытий писем (его в АМС до сих пор нет!), свой уникальный алгоритм шифрования (ни кто ни чего не утащит + если Максовские урлы будут баниться, то Ваши не будут + рандом имени скрипта обработчика (в АМС этого тоже нет).

Все это нужно для тех кто хочет "надежно" + точно + полноценно получать любые (все на 100%) данные о информации по открытию писем и при этом не зависеть от невозможности рандома доменов и рандома имен файлов обработчиков.

Вопрос: "И хто ета мне сделаит?" => Игнорируется :)

akigleo
Сообщения: 6
Зарегистрирован: Пт сен 16, 2011 7:12 am

#5 Сообщение akigleo » Ср ноя 16, 2016 5:22 pm

Partnerweb, спасибо за потраченное время и найденное весьма нетривиальное решение.

Правда, у меня был небольшой вопрос, который вы по ошибке довели до уровня открытия Америки в хорошем смысле слова. Уверен, что для ряда пользователей это довольно интересный вариант расширить возможности AMS.

Попробую подробнее расписать то, что меня интересовало.
У меня есть, допустим, несколько десятков сайтов-сателлитов. Там я предполагаю установить форму подписки.

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

Поэтому блеснула мысль все упростить. Пусть я установлю на всех сайтах одну и ту же форму подписки и пусть все валится в один список подписчиков. Но, я хотел их как-то различать, чтобы видеть кто и откуда пришел. Поэтому я хотел найти способ, чтобы в форму подписки на каждом конкретном сайте вносить скрытое предустановленное поле, которое есть в ams.
Сейчас при подписке задействованы поля: в форме данные FormFullName --> заходят в FullName в ams, а FormEmail --> заходит в Email в ams.

При этом поле типа FirstName и прочие - пустые. Вот я и подумал, что хорошо бы, чтобы форма туда писала значение предустановленного скрытого поля формы.
То есть, чтобы база выглядела так:
somename@mail.com | Вася | www.site1.com
somename1@mail.pro | Петя | www.site1.com
somename@mail.biz | Коля | www.anothersite.ru
somename1@maile.com | Толя | www.anothersite.ru

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

Поэтому я и пытался передать из формы каким-то способом данные, которые бы залетали в, например, поле FirstName в ams.
Для этого я пытался ввести в форму дополнительные строки вида:

Код: Выделить всё

<input type="hidden" name="FirstName" value="somesite.com">

Код: Выделить всё

<input type="hidden" name="formFirstName" value="somesite.com">
но не вышло, несмотря на все попытки поле FirstName в AMS не заполняется данными моих сайтов-источников...

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 39 гостей