код с почты

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
Всем привет. Такая вот ситуация, надо бы решить. Есть проект который работает в 5 потоков, он обращается к одной и той же почте и ищет письмо с кодом подтверждения от сайта, но проблема в том, что остальные потоки могут брать код который предназначен для других потоков. Как это регулировать можно?
 

TommyTuta

Client
Регистрация
02.10.2022
Сообщения
106
Благодарностей
47
Баллы
28
Гугл почта размноженная через точки?
 

nexx1

Client
Регистрация
16.08.2016
Сообщения
272
Благодарностей
96
Баллы
28
Всем привет. Такая вот ситуация, надо бы решить. Есть проект который работает в 5 потоков, он обращается к одной и той же почте и ищет письмо с кодом подтверждения от сайта, но проблема в том, что остальные потоки могут брать код который предназначен для других потоков. Как это регулировать можно?
поиск по названию ящика или имени пользователя, которому отправлено письмо
 

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
поиск по названию ящика или имени пользователя, которому отправлено письмо
Есть варианты, как можно найти письмо по названию ящика кому отправлено письмо? Если смотреть конкретно по отправленному сообщению, то там нет уникального к чему привязаться.
 

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
Вот, то что мне надо. Мне нужно как-то найти значение email из письма (каждый раз уникальным будет email из скрина) и если оно совпадает с переменным в моем шаблоне, то далее происходит это (?<=border-radius:\ 4px;">[\w\W]+?)\d{6}(?=[\w\W]+?<br/>). В реализацию пока не силён, как можно сделать? Регулярное выражение нужно
 
Последнее редактирование:

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
Так же, может быть и другая проблема. Код может приходить одновременно 2 раза. Это либо защита сайта либо что, не знаю, но от этого неудачных регистраций в шаблоне стало больше. Потому что, берёт первый код в переменную, а затем сайт высылает в ту же секунду еще один код, и тогда первый уже становится невалидным. Есть тут, кто может скинуть решение и этой проблемы? Код ищется регуляркой (?<=border-radius:\ 4px;">[\w\W]+?)\d{6}(?=[\w\W]+?<br/>)
 

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
@K R В прошлый раз вы мне с этим помогли, поможете снова? Буду очень благодарен любой помощи
 

K R

Client
Регистрация
14.01.2017
Сообщения
83
Благодарностей
76
Баллы
18
@K R В прошлый раз вы мне с этим помогли, поможете снова? Буду очень благодарен любой помощи
Пардон, у меня сейчас завал по своим проектам, нет времени вникать.
Через два дня вероятно буду посвободнее. Если не найдётся решение, то напишите, возможно помогу.
 
  • Спасибо
Реакции: isaacfks

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
Может кто-то не понял, переформулирую.
У меня автоматизированный шаблон регистрации и каждый раз в нём меняется Email. Он хранится в переменной. Чтобы подтвердить код на странице я использую экшен "Принять почту". В нём у меня уже есть регулярное выражение которое ищет код в самом письме, но есть одно но. Задача:
Нужно сначала сделать проверку письма. Если Email принимателя письма (2 скрин) идентичен тому, что находится у меня в переменной в шаблоне, то происходит выполнение регулярного выражения (1 скрин) и берётся код из письма. Можно сделать по другому, но чтобы суть не менялась.

 

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
Задача решена. Больше неактуально!
 
  • Спасибо
Реакции: djaga

K R

Client
Регистрация
14.01.2017
Сообщения
83
Благодарностей
76
Баллы
18
  • Спасибо
Реакции: isaacfks

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
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

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