예제 #1
0
        private SendMailParameters CollectInfo()
        {
            SendMailParameters result = new SendMailParameters();

            SmtpParameters sp = new SmtpParameters();

            LogOnIdentity identity = new LogOnIdentity(textBoxLogOnName.Text, textBoxPassword.Text);

            ServerInfo serverInfo = new ServerInfo(textBoxServer.Text, identity);

            int port = 0;

            if (int.TryParse(textBoxPort.Text, out port))
            {
                serverInfo.Port = port;
            }

            serverInfo.AuthenticateType = (AuthenticateType)Enum.Parse(typeof(AuthenticateType), (string)comboBoxAuthenticateType.SelectedValue);

            sp.ServerInfo            = serverInfo;
            sp.UseDefaultCredentials = serverInfo.AuthenticateType == AuthenticateType.Anonymous;

            if (textBoxSignInAddress.Text.IsNotEmpty())
            {
                sp.DefaultSender = EmailAddress.FromDescription(textBoxSignInAddress.Text);
            }

            sp.AfterSentOP = EmailMessageAfterSentOP.NotPersisted;

            result.SmtpParams          = sp;
            result.DefaultEmailSubject = textBoxMessage.Text;
            result.ToAddress           = EmailAddress.FromDescription(textBoxDest.Text);

            return(result);
        }
예제 #2
0
		private void RenderControlsBySmtpParameters(SendMailParameters smp)
		{
			SmtpParameters sp = smp.SmtpParams;

			if (sp != null)
			{
				if (sp.ServerInfo != null)
				{
					textBoxServer.Text = sp.ServerInfo.ServerName;
					textBoxPort.Text = sp.ServerInfo.Port.ToString();
					comboBoxAuthenticateType.SelectedValue = sp.ServerInfo.AuthenticateType.ToString();

					if (sp.ServerInfo.Identity != null)
					{
						textBoxLogOnName.Text = sp.ServerInfo.Identity.LogOnName;
						textBoxPassword.Text = sp.ServerInfo.Identity.Password;
					}
				}

				if (sp.DefaultSender != null)
					textBoxSignInAddress.Text = sp.DefaultSender.ToString();

				textBoxMessage.Text = smp.DefaultEmailSubject;
			}

			textBoxMessage.Text = smp.DefaultEmailSubject;

			if (smp.ToAddress != null)
				textBoxDest.Text = smp.ToAddress.ToString();

			SetAuthGroupBoxEnabled();
		}
예제 #3
0
        private void buttonResetFromConfig_Click(object sender, EventArgs e)
        {
            try
            {
                SendMailParameters smp = InitSMPFromEmailSettings();
                RenderControlsBySmtpParameters(smp);

                ShowMessage("重置完成");
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(this, ex.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
예제 #4
0
        private SendMailParameters InitSMPFromEmailSettings()
        {
            SendMailParameters smp = new SendMailParameters();

            smp.DefaultEmailSubject = textBoxMessage.Text;

            try
            {
                smp.SmtpParams = EmailMessageSettings.GetConfig().ToSmtpParameters();
            }
            catch (System.Configuration.ConfigurationException)
            {
            }

            return(smp);
        }
예제 #5
0
        public SendMailControl()
        {
            InitializeComponent();

            comboBoxAuthenticateType.DataSource = EnumItemDescriptionAttribute.GetDescriptionList(typeof(AuthenticateType));

            comboBoxAuthenticateType.ValueMember   = "Name";
            comboBoxAuthenticateType.DisplayMember = "Description";

            SendMailParameters smp = (SendMailParameters)ApplicationStorage.LoadObject(StorageFileName);

            if (smp == null)
            {
                smp = InitSMPFromEmailSettings();
            }

            RenderControlsBySmtpParameters(smp);
        }
예제 #6
0
        private void buttonSendOneCandidate_Click(object sender, EventArgs e)
        {
            try
            {
                SendMailParameters smp = CollectInfo();
                //EmailMessageAdapter.Instance.SendCandidateMessages(1, smp.SmtpParams);
                EmailMessage message = new EmailMessage(smp.ToAddress, smp.DefaultEmailSubject, string.Empty);

                message.From = smp.SmtpParams.DefaultSender;

                EmailMessageAdapter.Instance.Insert(message);

                ShowMessage("发送完成");
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(this, ex.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
예제 #7
0
        private void buttonSend_Click(object sender, System.EventArgs e)
        {
            try
            {
                ExceptionHelper.CheckStringIsNullOrEmpty(textBoxDest.Text, "收件人地址");

                SendMailParameters smp = CollectInfo();

                EmailMessage message = new EmailMessage(smp.ToAddress, smp.DefaultEmailSubject, string.Empty);

                message.From = smp.SmtpParams.DefaultSender;

                EmailMessageAdapter.Instance.Send(message, smp.SmtpParams);

                ShowMessage("发送完成");
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(this, ex.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
예제 #8
0
        private void RenderControlsBySmtpParameters(SendMailParameters smp)
        {
            SmtpParameters sp = smp.SmtpParams;

            if (sp != null)
            {
                if (sp.ServerInfo != null)
                {
                    textBoxServer.Text = sp.ServerInfo.ServerName;
                    textBoxPort.Text   = sp.ServerInfo.Port.ToString();
                    comboBoxAuthenticateType.SelectedValue = sp.ServerInfo.AuthenticateType.ToString();

                    if (sp.ServerInfo.Identity != null)
                    {
                        textBoxLogOnName.Text = sp.ServerInfo.Identity.LogOnName;
                        textBoxPassword.Text  = sp.ServerInfo.Identity.Password;
                    }
                }

                if (sp.DefaultSender != null)
                {
                    textBoxSignInAddress.Text = sp.DefaultSender.ToString();
                }

                textBoxMessage.Text = smp.DefaultEmailSubject;
            }

            textBoxMessage.Text = smp.DefaultEmailSubject;

            if (smp.ToAddress != null)
            {
                textBoxDest.Text = smp.ToAddress.ToString();
            }

            SetAuthGroupBoxEnabled();
        }
예제 #9
0
        public void OnClosing(EventArgs e)
        {
            SendMailParameters smp = this.CollectInfo();

            ApplicationStorage.SaveObject(StorageFileName, smp);
        }
예제 #10
0
		private SendMailParameters CollectInfo()
		{
			SendMailParameters result = new SendMailParameters();

			SmtpParameters sp = new SmtpParameters();

			LogOnIdentity identity = new LogOnIdentity(textBoxLogOnName.Text, textBoxPassword.Text);

			ServerInfo serverInfo = new ServerInfo(textBoxServer.Text, identity);

			int port = 0;

			if (int.TryParse(textBoxPort.Text, out port))
				serverInfo.Port = port;

			serverInfo.AuthenticateType = (AuthenticateType)Enum.Parse(typeof(AuthenticateType), (string)comboBoxAuthenticateType.SelectedValue);

			sp.ServerInfo = serverInfo;
			sp.UseDefaultCredentials = serverInfo.AuthenticateType == AuthenticateType.Anonymous;

			if (textBoxSignInAddress.Text.IsNotEmpty())
				sp.DefaultSender = EmailAddress.FromDescription(textBoxSignInAddress.Text);

			sp.AfterSentOP = EmailMessageAfterSentOP.NotPersisted;

			result.SmtpParams = sp;
			result.DefaultEmailSubject = textBoxMessage.Text;
			result.ToAddress = EmailAddress.FromDescription(textBoxDest.Text);

			return result;
		}
예제 #11
0
		private SendMailParameters InitSMPFromEmailSettings()
		{
			SendMailParameters smp = new SendMailParameters();

			smp.DefaultEmailSubject = textBoxMessage.Text;

			try
			{
				smp.SmtpParams = EmailMessageSettings.GetConfig().ToSmtpParameters();
			}
			catch (System.Configuration.ConfigurationException)
			{
			}

			return smp;
		}