public override void ViewDidLoad() { base.ViewDidLoad (); // Perform any additional setup after loading the view, typically from a nib. conversationTable.WeakDelegate = this; conversationTable.WeakDataSource = this; account = MailAccount.LoadMailAccount (); if (account == null) { account = new MailAccount (); account.Address.Name = "Hans Meier 1"; account.Address.Address = "*****@*****.**"; account.ImapAddress = "imap.gmail.com"; account.ImapPort = 993; account.Password = "******"; account.SmtpAddress = "smtp.gmail.com"; account.SmtpPort = 587; account.Save (); } // Set the "Me" account ContactDatabase.AddContact ("Ich", account.Address.Name, account.Address.Address); loader = new MessageLoader (account); loader.OnMessageReceived += (Message msg) => { HandleMessage(msg); }; loader.Start(); Console.WriteLine("Loader.IsActive: " + loader.IsActive); this.Title = account.Address.Address; }
public MessageLoader (MailAccount setAccountToCheck) { Account = setAccountToCheck; IsActive = false; }
public async Task SendMessage(MailAccount fromAccount, string messageText, params string[] receipients) { MimeKit.MimeMessage message = new MimeKit.MimeMessage(); message.From.Add(fromAccount.Address); for (int i = 0; i < receipients.Length; i++) { message.To.Add (new MailboxAddress(receipients [i], receipients [i])); } message.Subject = string.Format("[OpenFlow {0}]", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss zz")); message.Body = new MimeKit.TextPart("plain") { Text = messageText }; SmtpClient client = new SmtpClient(); await client.ConnectAsync(fromAccount.SmtpAddress, fromAccount.SmtpPort, SecureSocketOptions.StartTls); try { client.AuthenticationMechanisms.Remove ("XOAUTH2"); await client.AuthenticateAsync(fromAccount.Address.Address, fromAccount.Password); await client.SendAsync(message); } finally { await client.DisconnectAsync(true); } }