Exemple #1
0
        private void btFolderSend_Click(object sender, EventArgs e)
        {
            sendMail            = new SendMail();
            sendMail.smtpServer = tbSMTPServer.Text;
            sendMail.from       = tbMailFrom.Text;
            sendMail.username   = tbSMTP_username.Text;
            sendMail.password   = tbSMTP_password.Text;
            sendMail.port       = Convert.ToInt32(tbSMTPPort.Text);
            sendMail.useSSL     = chUseSSL.Checked;

            string[] emailsfolders = Directory.GetDirectories(tbFolderName.Text).Where(f => SendMail.ValidateEmail(f)).ToArray();

            AfterSendActions asa      = (AfterSendActions)cbAfterSend.SelectedItem;
            Encoding         encoding = Encoding.GetEncoding((int)((CodePages)cbEncoding.SelectedItem));

            System.Net.Mail.MailPriority prior = (System.Net.Mail.MailPriority)cbPriority.SelectedItem;
            foreach (string folder in emailsfolders)
            {
                string mail = folder.Split(Path.DirectorySeparatorChar).Last();

                sendMail.SendFolder(mail, folder, tbFolderName.Text, chSendAsArc.Checked, asa, tbCaption.Text, meBody.Text, chAsHtml.Checked,
                                    prior, encoding, chSimulateFolder.Checked, chSendAsArc.Checked);
            }
        }
Exemple #2
0
        public void SendFolder(string Email, string Folder, string rootFolder, bool Arc, AfterSendActions AfterFolderSend, string caption,
                               string message, bool html, MailPriority Priority, Encoding encoding, bool simulate, bool arcFolder,
                               bool ignoreErrors = true)
        {
            if (Folder.Last() != Path.DirectorySeparatorChar)
            {
                Folder += Path.DirectorySeparatorChar;
            }

            FilesList.Clear();
            DirSearch(Folder);

            string arcName = "";

            if (arcFolder)
            {
                arcName = Path.GetTempPath() + Email + ".zip";

                ZipFile zf = new ZipFile();

                foreach (string f in FilesList)
                {
                    string dirInArchive = Path.GetDirectoryName(f).Replace(Folder, "");

                    zf.AddFile(f, "Attachments" + dirInArchive);
                }
                zf.Save(arcName);

                FilesList.Clear();
                FilesList.Add(arcName);
            }

            Send(Email, caption, message, html, Priority, encoding, simulate, ignoreErrors, FilesList.ToArray());

            if (File.Exists(arcName))
            {
                File.Delete(arcName);
            }

            switch (AfterFolderSend)
            {
            case AfterSendActions.Move:

                if (!simulate)
                {
                    string dir = rootFolder + "_sended" + Path.DirectorySeparatorChar + Path.DirectorySeparatorChar + Email;
                    Directory.CreateDirectory(dir);
                    Directory.Move(Folder, dir);
                }

                break;

            case AfterSendActions.Clear:

                if (!simulate)
                {
                    Directory.Delete(Folder, true);
                    Directory.CreateDirectory(Folder);
                }

                break;
            }
        }