예제 #1
0
 /// <summary>
 /// パスワード付きZIPのエントリを作成する.
 /// </summary>
 /// <param name="mailItem">メールアイテム</param>
 /// <param name="zipFolder">パスワード付きZIPの元にするフォルダ</param>
 private void CreateZipEntriesInFolder(IMyMailItem mailItem, ZipContentsFolder zipFolder)
 {
     if (mailItem.HasOneZipFileOnly())
     {
         ExtractZipFile(zipFolder, mailItem.GetAttachments().First());
     }
     else
     {
         SaveAttachmentsToZipFolder(zipFolder.ContentsRootFolderPath, mailItem.GetAttachments());
     }
 }
예제 #2
0
        /// <summary>
        /// 対象のメールアイテムが添付ファイル暗号化を行える状態か検証する
        /// </summary>
        /// <param name="item">メールアイテム</param>
        public void ValidateMailItemForEncryption(IMyMailItem item)
        {
            if (item.RecipientsCount <= 0)
            {
                throw new MailItemValidationException("送信先が設定されていません。TO, CC, BCCのいずれかに一つ以上のメールアドレスを入力してください");
            }
            if (String.IsNullOrEmpty(item.Subject))
            {
                throw new MailItemValidationException("件名が設定されていません。件名を入力して下さい");
            }

            var attachments = item.GetAttachments().ToList();

            if (attachments.Count <= 0)
            {
                throw new MailItemValidationException("添付ファイルが一つも存在しません。一つ以上の添付ファイルを設定して下さい。");
            }

            var fileNameSet = new HashSet <string>();

            foreach (var attachment in attachments)
            {
                if (fileNameSet.Contains(attachment.FileName))
                {
                    throw new MailItemValidationException("添付ファイルに同名のファイルが複数存在します。添付ファイル名は全て別名にして下さい:" + attachment.FileName);
                }
                fileNameSet.Add(attachment.FileName);
            }
        }
예제 #3
0
 /// <summary>
 /// ZIPファイル名を作成する
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 private string CreateZipFileName(IMyMailItem item)
 {
     if (item.HasOneZipFileOnly())
     {
         // 添付ファイルがZIPファイル一つのみの場合は、ZIPファイル名を流用する
         return(item.GetAttachments().First().FileName);
     }
     return(CreateDefaultZipFileName());
 }