[ ОБНОВЛЕНИЕ ]
Я реализовал приведенное ниже решение, но у меня возникают проблемы при работе в качестве службы из-за ручного вмешательства, необходимого для вывода print
.
Любые другие предложения для решения были бы весьма желательны: (
[ОРИГИНАЛ]
Я искал решение типа почтового демона для flask Приложение. Я хотел бы интегрироваться с Auzure, а не запускать локальный почтовый сервер, поэтому API MS Graph выглядел как отличный выбор. Затем я наткнулся на O365 , который выглядел как идеальное решение.
Итак, я настроил некоторое тестирование, и оно отлично работает, я даже попытался настроить двухэтапную аутентификацию в качестве опции для идентификации входа ( Интерфейс аутентификации на основе веб-приложения ). Это работает, но это не так что-то, что я хочу для этого проекта. Мне бы просто хотелось, чтобы приложение flask могло отправлять электронные письма, используя Azure (приложение приглашает, сброс пароля и т. д. c, различные средства автоматизации почты). Переходя к ...
* 10 21 * Я обнаружил, что следующий метод аутентификации работает правильно, и мне не нужно обрабатывать токены и обновления. Однако я не могу найти ничего в документах, чтобы предположить, что смогу аутентифицировать таким образом, но не
print()
URL, а перенаправить пользователя. Я хотел бы иметь возможность затем захватить перенаправление в потоке
route
.
Я что-то здесь пропустил?
from O365 import Account
credentials = ('CLIENT-ID', 'CLIENT-SECRET')
account = Account(credentials)
if not account.is_authenticated:
account.authenticate(scopes=['basic', 'message_all'])
print('Authenticated!')
# A URL is printed if not authed, you would then be required to navigate to this URL,
# give consent to the app then paste the returned URL back into the console.
# I want to try avoid this direct console approach.