Example #1
0
        public bool SimpleSend(
            string from,
            List <string> to,
            string subject,
            string body,
            bool isReceipt)
        {
            Thread.CurrentThread.CurrentCulture   = CurrentCulture;
            Thread.CurrentThread.CurrentUICulture = CurrentCulture;

            var daemonLabels =
                new DraftEngine.DeliveryFailureMessageTranslates(
                    Defines.MailDaemonEmail,
                    MailApiResource.DeliveryFailureSubject,
                    MailApiResource.DeliveryFailureAutomaticMessage,
                    MailApiResource.DeliveryFailureMessageIdentificator,
                    MailApiResource.DeliveryFailureRecipients,
                    MailApiResource.DeliveryFailureRecommendations,
                    MailApiResource.DeliveryFailureBtn,
                    MailApiResource.DeliveryFailureFAQInformation,
                    MailApiResource.DeliveryFailureReason);

            return(MailEngineFactory.DraftEngine.SimpleSend(
                       from,
                       to,
                       subject,
                       body,
                       isReceipt,
                       daemonLabels));
        }
        public long SendMessage(int id,
                                string from,
                                List <string> to,
                                List <string> cc,
                                List <string> bcc,
                                string mimeReplyToId,
                                bool importance,
                                string subject,
                                List <int> tags,
                                string body,
                                List <MailAttachmentData> attachments,
                                FileShare fileLinksShareMode,
                                string calendarIcs,
                                bool isAutoreply,
                                bool requestReceipt,
                                bool requestRead)
        {
            try
            {
                Thread.CurrentThread.CurrentCulture   = CurrentCulture;
                Thread.CurrentThread.CurrentUICulture = CurrentCulture;

                var daemonLabels =
                    new DraftEngine.DeliveryFailureMessageTranslates(
                        Defines.MailDaemonEmail,
                        MailApiResource.DeliveryFailureSubject,
                        MailApiResource.DeliveryFailureAutomaticMessage,
                        MailApiResource.DeliveryFailureMessageIdentificator,
                        MailApiResource.DeliveryFailureRecipients,
                        MailApiResource.DeliveryFailureRecommendations,
                        MailApiResource.DeliveryFailureBtn,
                        MailApiResource.DeliveryFailureFAQInformation,
                        MailApiResource.DeliveryFailureReason);

                return(MailEngineFactory.DraftEngine.Send(id, from, to, cc, bcc, mimeReplyToId, importance, subject, tags, body,
                                                          attachments, fileLinksShareMode, calendarIcs, isAutoreply, requestReceipt, requestRead, daemonLabels));
            }
            catch (DraftException ex)
            {
                string fieldName;

                switch (ex.FieldType)
                {
                case DraftFieldTypes.From:
                    fieldName = MailApiResource.FieldNameFrom;
                    break;

                case DraftFieldTypes.To:
                    fieldName = MailApiResource.FieldNameTo;
                    break;

                case DraftFieldTypes.Cc:
                    fieldName = MailApiResource.FieldNameCc;
                    break;

                case DraftFieldTypes.Bcc:
                    fieldName = MailApiResource.FieldNameBcc;
                    break;

                default:
                    fieldName = "";
                    break;
                }
                switch (ex.ErrorType)
                {
                case DraftException.ErrorTypes.IncorrectField:
                    throw new ArgumentException(MailApiResource.ErrorIncorrectEmailAddress.Replace("%1", fieldName));

                case DraftException.ErrorTypes.EmptyField:
                    throw new ArgumentException(MailApiResource.ErrorEmptyField.Replace("%1", fieldName));

                default:
                    throw;
                }
            }
        }