Я пишу консольное приложение Windows для чтения электронной почты из специально настроенной учетной записи электронной почты на Office365. Учетная запись полностью настроена, и мы можем получать электронные письма из Outlook. Консольное приложение будет запускаться по расписанию с удаленного сервера и извлекать указанные c вложения из указанных c сообщений электронной почты, а затем перемещать эти сообщения в другую папку. Я решил использовать библиотеку MailKit из MimeKit и начал кодировать небольшое тестовое приложение, которое я перечисляю ниже:
Когда я запускал отладчик для этого кода, я сталкиваюсь с ошибкой в client.Authenticate за исключением возбуждается как «AuthenticationException». Имя пользователя и пароль, которые я использую в своем коде, правильные и те же, что и в Outlook. Я делаю основы прямо здесь? Могу ли я предоставить пароль в виде обычного текста или мне нужен специальный формат c? Пожалуйста, дайте мне знать, если я не предоставил всю информацию услышать, и я получу их и отправлю здесь.
using MailKit.Net.Imap;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace CAppHarvestEmail
{
class Program
{
static void Main(string[] args)
{
try
{
var userName = "bi@mydomain.co";
var passWord = "mybipassword";
using (var client = new ImapClient())
{
client.Connect("outlook.office365.com", true);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate(userName, passWord);
var inbox = client.Inbox;
inbox.Open(MailKit.FolderAccess.ReadOnly);
Console.WriteLine("Total messages: {0}", inbox.Count);
Console.WriteLine("Recent messages: {0}", inbox.Recent);
client.Disconnect(true);
}
}
catch (Exception e)
{
throw;
}
}
}
}