Всем привет,
Вот полезная программа из недавних тех которыми пришлось пользоваться. Допустим сценарий: вытягиваем из сайта какую-то полезную информацию, или перебираем вводные данные. Многие сегодня пользуются двухфакторной авторизацией - то есть нам приходит на почту письмо с кодом подтверждения. Если мы автоматизируем процесс и пишем, например, веб скрейпер, как в предыдущем моем посте, то и письмо должна забрать и распарсировать программа.
В данном слуае используем базовую линуксовую утилиту fetchmail:
Прописываем следующие строки в файл .fetchmailrc (если мы root):
Где логин и пароль той почты откуда забираем код верификации
keep - не удалять из ящика прочитанное письмо но я например это перебиваю опцией -К при вызове fetchmail дабы не исчерпывать лимит почтового ящика
mda - какой программой обратывается забранное письмо. если не укразывать, то они буду просто дописываться в один и тот же файл /var/spool/mail/root если вы root
мы же выбираем обработать полученное письмо программой procmail, а именно так, чтобы просто выдать содержимое письма на STDOUT - поэтому и приписка -d %s. Это нам позволит легко обратотать содержимое письма другими полезными утилитами Линукс, из коротых нас интересует grep для поиска по тексту
Теперь почтовая "забиралка" настроена. Скрипт для автоматического забора писем, например, другой программой:
и его содержимое:
То есть - на почту пришло письмо одной из строк которого является следующая строка:
Если оно непрочитано, запустив скрипт получаем следующий ответ:
Пишите свои программы сами и никогда не попадайтесь!
Вот полезная программа из недавних тех которыми пришлось пользоваться. Допустим сценарий: вытягиваем из сайта какую-то полезную информацию, или перебираем вводные данные. Многие сегодня пользуются двухфакторной авторизацией - то есть нам приходит на почту письмо с кодом подтверждения. Если мы автоматизируем процесс и пишем, например, веб скрейпер, как в предыдущем моем посте, то и письмо должна забрать и распарсировать программа.
В данном слуае используем базовую линуксовую утилиту fetchmail:
Bash:
root@me:~$ apt install fetchmail procmail
root@me:~$ mkdir INBOX
root@me:~$ nano ~/.fetchmailrc
Прописываем следующие строки в файл .fetchmailrc (если мы root):
C-like:
set postmaster 'root'
poll mail.onionmail.org with protocol IMAP port 993
user 'example@onionmail.org' is 'root' here
password '1234'
folder 'INBOX'
fetchlimit 2000
keep
ssl
mda '/usr/bin/procmail -d %s'
Где логин и пароль той почты откуда забираем код верификации
keep - не удалять из ящика прочитанное письмо но я например это перебиваю опцией -К при вызове fetchmail дабы не исчерпывать лимит почтового ящика
mda - какой программой обратывается забранное письмо. если не укразывать, то они буду просто дописываться в один и тот же файл /var/spool/mail/root если вы root
мы же выбираем обработать полученное письмо программой procmail, а именно так, чтобы просто выдать содержимое письма на STDOUT - поэтому и приписка -d %s. Это нам позволит легко обратотать содержимое письма другими полезными утилитами Линукс, из коротых нас интересует grep для поиска по тексту
Теперь почтовая "забиралка" настроена. Скрипт для автоматического забора писем, например, другой программой:
Bash:
root@me:~$ touch mailscript
root@me:~$ chmod +x mailscript
root@me:~$ nano mailscript
и его содержимое:
Bash:
#!/bin/bash
/usr/bin/fetchmail -UK | /usr/bin/grep 'Verification Code: ' | /usr/bin/grep -v '>Verification Code: ' | /usr/bin/grep -o '[0-9]*'
То есть - на почту пришло письмо одной из строк которого является следующая строка:
Код:
Verification Code: 92731
Bash:
root@me:~$ ./mailscript
92731
Пишите свои программы сами и никогда не попадайтесь!
Последнее редактирование: