public int SendMessages(int id, IEnumerable <MailAttachment> attachments, IEnumerable <string> to, IEnumerable <string> bcc, IEnumerable <string> cc, int replyToId, string from, string body, bool importance, IEnumerable <int> tags, string streamId, string subject) { var item = new MailSendItem { Attachments = new List <MailAttachment>(attachments), Bcc = new List <string>(bcc), Cc = new List <string>(cc), ReplyToId = replyToId, From = from, HtmlBody = body, Important = importance, Labels = new List <int>(tags), StreamId = streamId, Subject = subject, To = new List <string>(to) }; return(SendQueue.Send(TenantId, Username, item, id)); }
public int SendMessage(int id, IEnumerable <MailAttachment> attachments, IEnumerable <string> to, IEnumerable <string> bcc, IEnumerable <string> cc, string mimeMessageId, string mimeReplyToId, string from, string body, bool importance, IEnumerable <int> tags, string streamId, string subject, FileShare fileLinksShareMode ) { var item = new MailSendItem { Attachments = new List <MailAttachment>(attachments), Bcc = new List <string>(bcc), Cc = new List <string>(cc), MimeMessageId = string.IsNullOrEmpty(mimeMessageId) ? MailBoxManager.CreateMessageId() : mimeMessageId, MimeReplyToId = mimeReplyToId, From = from, HtmlBody = body, Important = importance, Labels = new List <int>(tags), StreamId = streamId, Subject = subject, To = new List <string>(to), FileLinksShareMode = fileLinksShareMode }; var accounts = MailBoxManager.GetAccountInfo(TenantId, Username).ToAddressData(); var mailAddress = new MailAddress(item.From); var account = accounts.FirstOrDefault(a => a.Email.ToLower().Equals(mailAddress.Address)); if (account == null) { throw new ArgumentException("Mailbox not found"); } if (account.IsGroup) { throw new InvalidOperationException("Sending emails from a group address is forbidden"); } if (id > 0) { var message = GetMessage(id, false, false, false); if (message.Folder != MailFolder.Ids.drafts) { throw new InvalidOperationException("Sending emails is permitted only in the Drafts folder"); } } return(SendQueue.Send(TenantId, Username, item, id, account.MailboxId)); }
public int SendMessages(int id, IEnumerable <MailAttachment> attachments, IEnumerable <string> to, IEnumerable <string> bcc, IEnumerable <string> cc, string mimeMessageId, string mimeReplyToId, string from, string body, bool importance, IEnumerable <int> tags, string streamId, string subject) { var item = new MailSendItem { Attachments = new List <MailAttachment>(attachments), Bcc = new List <string>(bcc), Cc = new List <string>(cc), MimeMessageId = string.IsNullOrEmpty(mimeMessageId) ? MailBoxManager.CreateMessageId() : mimeMessageId, MimeReplyToId = mimeReplyToId, From = from, HtmlBody = body, Important = importance, Labels = new List <int>(tags), StreamId = streamId, Subject = subject, To = new List <string>(to) }; var accounts = MailBoxManager.GetAccountInfo(TenantId, Username).ToAddressData(); var mail_address = new MailAddress(item.From); var account = accounts.FirstOrDefault(a => a.Email.ToLower().Equals(mail_address.Address)); if (account == null) { throw new ArgumentException("no such mailbox"); } return(SendQueue.Send(TenantId, Username, item, id, account.MailboxId)); }