Я хотел бы узнать, как отправлять электронные письма, используя Mailkit.
Проблема в том, что теперь я использую двухфакторную аутентификацию в своей учетной записи gmail, поэтому я не могу использовать упрощенные параметры отправки почты. Согласно документации Mailkit - Клятва должна быть использована.
Итак, я зарегистрировал новое приложение в Google API и получил секретный ключ. Затем я пытаюсь аутентифицироваться так:
var secrets = new ClientSecrets
{
ClientId = "xxxx",
ClientSecret = "yyyy"
};
var scopes = new string[] { GmailService.Scope.MailGoogleCom };
var googleCredentials = await GoogleWebAuthorizationBroker.AuthorizeAsync(secrets, scopes, email, CancellationToken.None);
if (googleCredentials.Token.IsExpired(SystemClock.Default))
{
await googleCredentials.RefreshTokenAsync(CancellationToken.None);
}
При достижении строки AuthorizeAsync
- открывается новое окно браузера, в котором я должен ввести свои учетные данные ... Это не было бы проблемой, если бы я запустил это приложение в Windows ... НО, это огромный проблема.
Я создаю консольное ядро dotnet, которое предназначено для работы в среде Linux в режиме CLI. Я не могу позволить себе вводить учетные данные каждый раз, когда токен истекает ... потому что вообще нет графического интерфейса ...
Можно ли заставить отправку электронной почты "просто" работать без дополнительных входов во внешние приложения?
Мне только что пришло в голову, что, возможно, будет проще зарегистрировать новую учетную запись электронной почты с упрощенной опцией входа в систему и использовать ее в моих приложениях вместо того, чтобы пытаться заставить работать текущую учетную запись Gmail. Итак, есть какие-нибудь идеи или предложения?