Форум сайта python.su
1
Всем привет. Работаю с достаточно однообразными процессами и рутинными задачами.
Возникло желание выучить Python для автоматизации. Возник вопрос, можно ли его решить с помощью Python? А именно:
1. Создать десктопное приложение.
2. Приложение будет автоматически формировать письмо в Outlook 2019 с нужным адресатом, темой, текстом и вставленными в тело письма данными.
3. В окне приложения для формирования письма нажимаешь по порядку из вслывающего списка нужные топики (которые тебе нужны).
4. Потом нажимаешь “Сформировать” формируется нужное письмо с со всеми данными перед отправкой.
5. Какие данные будут браться и откуда:
Отредактировано joneb1983 (Ноя. 21, 2022 09:10:23)
Прикреплённый файлы:
app-for-email.PNG (18,0 KБ)
Офлайн
61
Для отправки писем и формирования их по шаблонам, как и для доступа по ссш - сторонних приложений типа аутглюка или патти не нужно - питон умеет делать это сам.
Гуи приложение так же доступно на нескольких фреймворках = наиболе простой ето Ткинтер
Касаемо писем нужно смотреть в сторону smtp либ по ссш - ссшлиб.
А вот касаемо сделать скрин - ето сложнее
Возможно нужно будет открыть какуюто ссылку и страничку сковертировать в джипег
или другой удобный формат - хотя никто не запрещает тот же ХТМЛ формат письма использовать
С другой стороны - если это внутренний сервис моэет имеет смысл писать не гуи приложение подд ОС а веб? Пусть себе крутиться на сервере - имеет доступы нужные - он же формирует и отправляет хоть и по графику.
Офлайн
857
joneb1983Года через три, может, реализуешь. Долго объяснять, почему.
Это можно реализовать в автоматическом режиме на Python?
Офлайн
1
То
ZerGМне необходимо чтобы формиловалось именно письмо в аутлуке, так как работаем в корпоративной почте + надо проверить корректность данных перед отправкой письма.
Для отправки писем и формирования их по шаблонам, как и для доступа по ссш - сторонних приложений типа аутглюка или патти не нужно - питон умеет делать это сам.
ZerGТо есть лучше не десктопное приложение делать а web?
С другой стороны - если это внутренний сервис моэет имеет смысл писать не гуи приложение подд ОС а веб?
Прикреплённый файлы:
app-for-email2.PNG (54,7 KБ)
Офлайн
124
joneb1983Сможет, задача не сложная. Для начала к примеру можно определить абстрактную модель вашей программы.
Сможет ли он мне помочь в данной ситуации?
Офлайн
61
Ответ сделать можно.
Но работа с прложениями это очень непростая тема - так что как сказали вам выше дажен не уверен что через три года у вас это получится.
Офлайн
1
ZerGПрям заинтриговали
Но работа с приложениями это очень непростая тема - так что как сказали вам выше дажен не уверен что через три года у вас это получится.
! Неужели это настолько сложнейшая задача, минимум аж на 3 года? Создать маленькое приложение. Все желание отбило учить Python 
Отредактировано joneb1983 (Ноя. 21, 2022 15:15:50)
Офлайн
61
У вас мозг работает не в том направлении что бы решать такие задачи.
Есть ос. Под нее есть приложение. Вам каким либо образом нужно отфильтровать запущеные приложения (а у каждого могут быть дочерние окна) и произвести какие либо действия с ним как то выполнить команду, запустить операцию, вставить текст, сделать скрин и так далее. Это далеко не так просто как кажеться потому что не все разработчики дают АПИ для своих приложений, а если говорить про виндовс то ее чертов WinAPI тот еще гемморой.
Давайте начнем с простого:
Вам нужно сформировать письмо и отправить почту!
НЕ НУЖНО для этого использовать чужую программу. Ведь сам питон (другой язык) позволяет сформировать письмо - проверить его - сделать все что необходимо и отправить его как раз не используя тормознутый аутглюк.
Все вышеизложенное относиться и к SSH
НЕ НУЖНО ни на одном языке запускать putty что бы соединиться по ссш и выполнить комманду на удаленном сервере и получить от нее ответ! Это все делается в рамках инструментария самого языка.
Касаемо же открыть вкладку (конкретную из многих) и сделать скрин - как программа должна понять что вкладка именно та? А если запустили два раза браузер? ИТД ИТП. Это при том что действия на вашем екране будут заблокированны и вы не сможете ничего выполнять пока не закончиться скрипт - так как хотите привязаться к системным кликам мышкой и клавишам. Ну и представьте что во время выполнения программы вылетел аутлук или случайно вы ткнули на другую область? Вам такого наклацает и отправит что сама виндовс вприсядку будт вырывать волосы на лобке мамонта.
Вы совершенно не понимаете как работает ОС и приложения - а мы взяли только связку виндовс и аутглюк. А если надо будет запустить на макось или линукс что то? Там аутглюка нет - а вот тот же питон отработает все вопросы одинаково потому что логика будет зашита в коде а не в привязке к приложениям.
Давайте мы забудем на секундочку про питон. Возьмите CMD или там Powershell скрипт - сугубо команды управления виндой и попробуйте хотябы создать и отправить письмо через ваш аутлук. С выбором адрессов и так далее…
Опять же - если вы так боитесь за результат - в чем проблема?
Написали программу - она выгребла все данные из нужным вам мест - сформировала письмо на отправку
ПЕРЕД ОТПРАВКОЙ открыла вам окошко с содержимым которое выглядит точно как ваше окошко в аутглюке и КНОПКОЙ ОТПРАВИТЬ?
Вы проверили что все окей - и отправили? Хотя нахера ети мучения - можно уже и руками то письмо составить. А если писем 100 то вы руками их собирая больше ошибок допустите чем ваша программа. И сомневаюсь что вы глазами среди 100 писем увидите ошибку…
ВОзможно вам подойдет такой продукт как
https://www.autoitscript.com/site/
Либо же есть winautomation - но он немного платный.
Офлайн
44
https://pypi.org/search/?q=Outlook&page=1
и вставьте ссылку на его url Офлайн
857
joneb1983Сейчас пропаганда идёт про то, что программирование стало простым. Это ложь. Оно не стало простым. Каким сложным оно было, таким сложным оно и осталось. Появилось только больше материалов для обучения. Откуда пропаганда тогда и зачем? Просто люди открыли школы программирования, чтобы собирать деньги с учеников, которые придут к ним. После этого они запустили рекламу своих школ, которая людей, знающих, что программирование - это сложно, старается переубедить и внушить им, что программирование типа упростилось и поэтому они могут приходить в эти школы и пробовать себя в программировании. Ну, и они обещают этим ученикам обучение программированию за год. То есть их расчёт идёт на то, что ученик придёт и будет год ждать результатов у себя, проходя их курсы какие-то, похожие на обучение программированию. Вот так вот они циклически ищут этих учеников и ученики эти отваливаются через полгода, год, полтора. Поищи учеников, которые что-то сделали после этих школ, - ты не найдёшь ни одного. Тебе с какого-то чайника сказали, что Python - это просто, и ты с этой лапшой на ушах пришёл сюда, потому что питон здесь. А они расчитывали, что ты придёшь туда и подаришь им деньги, а они будут тебе лапшу и дальше на уши вешать, чтобы ты и дальше платил, пока ты что-то не заподозришь. Вот так это устроено.
Все желание отбило учить Python
joneb1983На Java лет семь уйдёт, чтобы эту программу написать. Потому что три года ты будешь разбираться с Java. Java очень сложный, и он для профессионалов, которые уже всё знают, а не только-только вот учиться начали. В самом начале, когда были профессионалы, они были процедурниками, структурниками и стали становиться оопэшниками, но языка у них не было для этого, вот они язык для этого придумали и написали. Вот так он появился. При этом он не расчитан на новичков, там сопли никто подтирать не будет. Вот там когда что-то ломается, ты даже понять ничего не можешь. Он не подсказывает тебе “сделай то, сделай это”, он просто тебе пишет “сломалось то-то” и всё. Поэтому там надо всё знать уже про то, что могло сломаться и почему оно могло сломаться. Новичок там будет в ступоре постоянно.
Может есть другой язык на котором можно реализовать это десктопное приложение хотя бы за 1 год, может Java?
joneb1983Ты знаешь, это плохая идея. Я вот лет двадцать назад сидел в эхе одной, не фидошной, но что-то типа этого, сейчас их нет уже. И там один парень писал всем регулярки для разбора писем почтовых. Вот мы смотрели на него, он был как маг какой-то. Никто не мог эти регулярки писать, а он один их писал и все его благодарили, на коленях перед ним ползали. Он всем говорил при этом “пишите регулярки, ребята, они очень удобные”. Но когда его спрашивали “а как ты пишешь регулярки, как ты научился?”, потому что все от него одного зависели и хотели сами научиться, чтобы не зависеть, он им отвечал “да я просто сам научился, даже не знаю, как”. То есть он хотел цепануть людей, чтобы они у него стали заказывать платную работу. Он их не учил, а постоянно демонстрировал им, что он может это делать, а они не могут. Это называется “я знаю, как делать, а вам не скажу”. И вот никто у него не заказывал их, хотя он ждал этого. Потому что деньги на эту ерунду тратить никто не хотел, она как бы не завершённая, а лишь кусок чего-то, зачем на неё тратить? Так вот сейчас я смотрю на его регулярки те (я их просто вспоминаю, их уже нет даже в файлах) и вижу, какое это дерьмо было по своей сути, я вижу, что он нихера не умел делать, я понимаю, что не стоило и копейки тратить на это, что и происходило со стороны всех, кто там был. Так вот, не надо ничего заказывать; тебе напишут говно какое-нибудь и ты даже не поймёшь этого, потому что по своему уровню ты даже не дорос до этого понимания. На данном этапе ты просто не увидишь, что говно - это говно. Ты просто не поймёшь, что тебе написали, тебя наколят, продадут лажу. Будешь, как папуас, с зеркальцем радостный бегать, отдав золотой посох за него.
Можно конечно попросить программиста за деньги это сделать
joneb1983До других коллег ты дойдёшь лет через десять только. Если ты себе программу написать не можешь, то другим ты и подавно не сможешь. А чтобы они купили у тебя программу, нужно 1) чтобы она им была очень-очень-очень нужна и 2) чтобы ты им продавал её раз в десять дешевле, чем она стоит на рынке программного обеспечения. Сможешь ли ты такую программу написать? Это можно сделать, только когда ты изготавливаешь её из своих уже написанных программ, которые писать не надо уже, они уже написаны. При таком раскладе ты сможешь написать хорошую и мощную программу и продавать её по своей цене, которая значительно ниже рыночной. Иначе либо она не нужна будет им, потому что в ней нет никаких функций полезных, либо они у тебя её не купят, потому что ты поставишь слишком высокую цену, так как сам потратился сильно на её изготовление и просто не можешь выставить цену меньше той, которую сам потратил.
Хотелось бы чтобы это выглядело нормальным образом в виде приложения, что бы могли пользоваться другие коллеги.
joneb1983Напиши программу hello world.
но интересно самому, так как работаю в IT на
первой линии поддержки и давно задумываюсь об изучении программирования
Офлайн