| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | using InABox.Core;using InABox.Mail;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InABox.API{    public class ExchangeProvider : ISMSProvider    {        private ExchangeMailer Mailer;        public ExchangeProvider(string host, int port, string username, string password)        {            Mailer = new ExchangeMailer()            {                MailboxHost = host,                MailboxPort = port,                MailboxUserName = username,                MailboxPassword = password            };        }        public SMSProviderType ProviderType => SMSProviderType.Exchange;        public TwoFactorAuthenticationType TwoFactorAuthenticationType => TwoFactorAuthenticationType.Email;        public bool SendMessage(string recipient, string message)        {            if (Mailer.Connect())            {                var imapMessage = Mailer.CreateMessage();                imapMessage.Subject = "Message from PRS";                imapMessage.Body = message;                imapMessage.IsHTML = false;                imapMessage.To = new List<string> { recipient };                Mailer.SendMessage(imapMessage);                return true;            }            return false;        }    }}
 |