код с почты

  • Автор темы Автор темы isaacfks
  • Дата начала Дата начала

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Реакции
11
Баллы
8
Всем привет. Такая вот ситуация, надо бы решить. Есть проект который работает в 5 потоков, он обращается к одной и той же почте и ищет письмо с кодом подтверждения от сайта, но проблема в том, что остальные потоки могут брать код который предназначен для других потоков. Как это регулировать можно?
 
Всем привет. Такая вот ситуация, надо бы решить. Есть проект который работает в 5 потоков, он обращается к одной и той же почте и ищет письмо с кодом подтверждения от сайта, но проблема в том, что остальные потоки могут брать код который предназначен для других потоков. Как это регулировать можно?
поиск по названию ящика или имени пользователя, которому отправлено письмо
 
поиск по названию ящика или имени пользователя, которому отправлено письмо
Есть варианты, как можно найти письмо по названию ящика кому отправлено письмо? Если смотреть конкретно по отправленному сообщению, то там нет уникального к чему привязаться.
 
Вот, то что мне надо. Мне нужно как-то найти значение email из письма (каждый раз уникальным будет email из скрина) и если оно совпадает с переменным в моем шаблоне, то далее происходит это (?<=border-radius:\ 4px;">[\w\W]+?)\d{6}(?=[\w\W]+?<br/>). В реализацию пока не силён, как можно сделать? Регулярное выражение нужно
CIAxvZf.png
 
Последнее редактирование:
Так же, может быть и другая проблема. Код может приходить одновременно 2 раза. Это либо защита сайта либо что, не знаю, но от этого неудачных регистраций в шаблоне стало больше. Потому что, берёт первый код в переменную, а затем сайт высылает в ту же секунду еще один код, и тогда первый уже становится невалидным. Есть тут, кто может скинуть решение и этой проблемы? Код ищется регуляркой (?<=border-radius:\ 4px;">[\w\W]+?)\d{6}(?=[\w\W]+?<br/>)
 
@K R В прошлый раз вы мне с этим помогли, поможете снова? Буду очень благодарен любой помощи
 
@K R В прошлый раз вы мне с этим помогли, поможете снова? Буду очень благодарен любой помощи
Пардон, у меня сейчас завал по своим проектам, нет времени вникать.
Через два дня вероятно буду посвободнее. Если не найдётся решение, то напишите, возможно помогу.
 
  • Оценить
Реакции: isaacfks
Может кто-то не понял, переформулирую.
У меня автоматизированный шаблон регистрации и каждый раз в нём меняется Email. Он хранится в переменной. Чтобы подтвердить код на странице я использую экшен "Принять почту". В нём у меня уже есть регулярное выражение которое ищет код в самом письме, но есть одно но. Задача:
Нужно сначала сделать проверку письма. Если Email принимателя письма (2 скрин) идентичен тому, что находится у меня в переменной в шаблоне, то происходит выполнение регулярного выражения (1 скрин) и берётся код из письма. Можно сделать по другому, но чтобы суть не менялась.
ljuibNY.png

bBGPOBz.png
 
Задача решена. Больше неактуально!
 
  • Оценить
Реакции: djaga
C#:
Развернуть Свернуть Копировать
// Вариант, если искать в подвале сообщения
string email = project.Variables["переменная с Email"].Value + "@gmail.com"; // email на который совершается регистрация
var emailForRegexpSearch = email.Split(new []{"@"}, StringSplitOptions.RemoveEmptyEntries)
    .First().Replace(".", "");
string regexpExample = $"(?<=id=\"){emailForRegexpSearch}(?=@)";
project.Variables["varName"].Value = regexpExample;
/*Вместо varName название переменной которая будет использоваться для поиска нужного сообщения
в поле "рег. выр." поиска письма. Туда нужно будет вставить уже заполненную переменную.*/

/*После этого вы найдете только те письма, которые принадлежат именно этому email-у.
Останется только при ошибке кода, проверить ещё раз почту и проверить через кубик if новый код и старый
Важно, перед получением нового кода, старый нужно сохранить в дополнительную переменную (например temp)*/

// Вариант, если искать в шапке сообщения
string email = project.Variables["переменная с Email"].Value + "@gmail.com";
var emailForRegexpSearch = email.Split(new []{"@"}, StringSplitOptions.RemoveEmptyEntries)
    .First().Replace(".", @"\.");
string regexpExample = $"(?<=email=\"){emailForRegexpSearch}(?=@)";
 
  • Оценить
Реакции: K R

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)