Тело письма надо же через модуль "почта" получать?
Как вытащить из нескольких разных почт код?
-
Привет, я новичок в этом всем и хочу разобраться как можно с помощью IMAP получить код, пробовал через классы и подобное, но увы у моего сайта с услугами почт нету class)))
- на этом скрине все видно. Поэтому подскажите как иначе можно доставать КОД из почт, буду ОЧЕНЬ благодарен. -
@Roy-Mustang! Привет, уже сделал так и получил вот такое значение
по какой-то не виданной мне причине. -
@sewq Он так делает потому что в коде html может быть не одно совпадение на такой xpath запрос, это значит что вам нужно к этому элементу спускатся вниз с какой-то зацепки, я не вижу всего html поэтому подсказать мне тяжело к чему подцепится
Можете для удобства зайти на этот сайт: https://html.onlineviewer.net/
Здесь вставить код и нажать кнопку "preview fullpage" тогда сможете иметь дефолт инструменты разработчика и видеть совпадения -
@Roy-Mustang
по моим ощущениям и моему взгляду там не за что зацепиться.. Даже если я пытаюсь за что-то зацепиться мне выдает XPATH_TEXT - "Your email confirmation code", без самого КОДА потому что там есть div - родительский элемент у КОДА из почты. Так-же я докопался до класса который берет в том числе текст, но даже там я не получаю число...
, 
-
@Roy-Mustang Пробовал, получилось это

-
@sewq Can using Execute code
function htmlToText(html) { var str = String(html || ''); str = str.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, ''); str = str.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, ''); str = str.replace(/<!--[\s\S]*?-->/g, ''); str = str.replace(/<[^>]+>/g, ''); str = str.replace(/ /g, ' '); str = str.replace(/</g, '<'); str = str.replace(/>/g, '>'); str = str.replace(/&/g, '&'); str = str.replace(/"/g, '"'); str = str.replace(/'/g, '\''); str = str.replace(/&#(\d+);/g, function (m, n) { return String.fromCharCode(parseInt(n, 10)); }); str = str.replace(/&#x([0-9A-Fa-f]+);/g, function (m, n) { return String.fromCharCode(parseInt(n, 16)); }); str = str.replace(/\s+/g, ' '); str = str.replace(/^\s+|\s+$/g, ''); return str; } function getCodeByKeyword(text, keyword) { var idx = text.indexOf(keyword); if (idx === -1) return null; var sub = text.substring(idx + keyword.length); var match = sub.match(/\d{6}/); return match ? match[0] : null; } VAR_EMAIL_CONTENT = htmlToText(VAR_EMAIL_HTML) var match = getCodeByKeyword(VAR_EMAIL_CONTENT, 'Your code is') if (match) { VAR_EMAIL_OTP = match } else { fail_user("Error get email otp") }Change 'Your code is'
-
Регулярка в помощь :)
И не обязательно брать весь текст кучу а то что по краям и Середину нужную выделить и всё :)
https://bablosoft.github.io/RegexpConstructor/Сам и с Фирст майл и Нотлетерс работаю и регулярка да и нах голову ломать :)))
-
Реал ток вчера и с регера в Автори з что надо Код если делал и воткнул с регера, а не тут то было и там уже другое в Модуле Почты даже надо Галку ставить и потом с от тель выдёргивать код.
Но справился хоть и знаю Скрипт с Регуляркой тяжелей но, там и мощей в том так не треба :)))Истина то она порой рядом и порой даж костыльно, но главное робит :)))
-

у меня так тоже инсту регаю
-
@Staasoncheg СПАСИБО. Выручил!
он даже тело письма не видит и вот что я пытаюсь делать 