Этот проект представляет собой очень простую демонстрацию, показывающую, как пройти аутентификацию с помощью OAUTH2 и отправить сообщение электронной почты на адреса электронной почты Gmail, microsoft/office365, а также hotmail.com/outlook.com/live.com. Первоначально он предназначался только для Gmail (отсюда и название), но с тех пор был расширен для поддержки других провайдеров.
OAuth2 — это открытый стандарт авторизации, который используется для предоставления доступа к ресурсам, защищенным сервером. Он позволяет приложению или службе проходить аутентификацию на сервере ресурсов и получать доступ к защищенным ресурсам от имени пользователя, не требуя от пользователя предоставления своих учетных данных непосредственно приложению.
Когда пользователь хочет получить доступ к своей электронной почте с помощью почтового клиента или другого приложения, приложение может использовать OAuth2 для аутентификации в службе электронной почты и запросить доступ к электронной почте пользователя. Затем пользователю будет предложено войти в свою учетную запись электронной почты и предоставить доступ к приложению. После предоставления доступа приложение может использовать токен доступа OAuth2 для аутентификации в службе электронной почты и доступа к электронной почте пользователя.
Использование OAuth2 для аутентификации имеет несколько преимуществ. Это позволяет пользователям предоставлять доступ к своей электронной почте, не передавая свои учетные данные приложению, что помогает защитить их конфиденциальность и безопасность. Это также упрощает пользователям доступ к своей электронной почте с нескольких устройств и приложений, поскольку им нужно предоставить доступ только один раз, а затем они могут использовать токен доступа OAuth2 для аутентификации в службе электронной почты с любого устройства.
Вам нужно будет создать файл Globals.pas, который содержит следующие константы.
google_clientid
google_clientsecret Чтобы получить их, перейдите по адресу https://console.cloud.google.com/apis/credentials.
google_clientaccount
microsoft_clientid
microsoft_clientaccount Чтобы получить их, перейдите по адресу https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade. Microsoft также потребуются различные разрешения для приложений, как показано ниже.
клиентыотправить по адресу
имя клиента
Для этого проекта требуется OpenSSL. Вы можете найти необходимые файлы по адресу https://github.com/IndySockets/OpenSSL-Binaries.
Спасибо
Джеффри Смит