예제 #1
0
        public Page_Mail()
        {
            InitializeComponent();


            if (File.Exists(xmlUserdataMail))
            {
                XmlSerializer xs   = new XmlSerializer(typeof(XML_Mail));
                FileStream    read = new FileStream(xmlUserdataMail, FileMode.Open, FileAccess.Read, FileShare.Read);

                XML_Mail daten = (XML_Mail)xs.Deserialize(read);

                tb_Absender.Text = daten.Absender;
                tb_Smtp.Text     = daten.Smtp;
                tb_Username.Text = daten.Username;

                foreach (string newEmpfaenger in daten.empfaenger)
                {
                    TextBlock text = new TextBlock();
                    text.Text = newEmpfaenger;
                    lb_Empfaenger.Items.Add(text);
                }
                pwb_Passwort.Password = daten.Password;
            }
        }
예제 #2
0
        private void bt_Save_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                #region Speichern der Daten in XML
                XML_Mail daten = new XML_Mail();

                daten.Absender = tb_Absender.Text;

                daten.Smtp     = tb_Smtp.Text;
                daten.Username = tb_Username.Text;

                //Empfänger speichern hinzufügen
                foreach (object item in lb_Empfaenger.Items)
                {
                    if (item is TextBlock)
                    {
                        daten.empfaenger.Add((item as TextBlock).Text);
                    }
                }

                //Passwort speichern

                daten.Password = pwb_Passwort.Password;

                SaveXMLData.SaveXML(daten, xmlUserdataMail);

                #endregion

                #region Testen E-Mailsendung

                NetworkCredential login = new NetworkCredential(tb_Username.Text, pwb_Passwort.Password);

                foreach (string empfaenger in daten.empfaenger)
                {
                    MailMessage msg = new MailMessage(tb_Absender.Text, empfaenger, "Test E-Mail Sicherung", "Das ist ein erster test. Bitte anschnallen!");
                    msg.BodyEncoding    = Encoding.UTF8;
                    msg.SubjectEncoding = Encoding.UTF8;
                    msg.IsBodyHtml      = true;

                    SmtpClient client = new SmtpClient(tb_Smtp.Text);
                    client.Credentials = login;
                    client.EnableSsl   = true;
                    client.Send(msg);
                }

                #endregion

                MessageBox.Show("Daten gespeichert\nBitte überprüfen Sie ihren E-Mail Posteingang");
            }
            catch (System.Net.Mail.SmtpException)
            {
                MessageBox.Show("Für den SMTP-Server ist eine sichere Verbindung erforderlich,\n oder der Client wurde nicht authentifiziert.\nDie Serverantwort war: 5.7.0 Authentication Required.", "Fehler E-Mail", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (System.IO.IOException)
            {
                MessageBox.Show("Prozess kann nicht auf die userdata_mail.xml zugreifen. Bitte noch einmal auf 'Einstellungen speichern' klicken!", "Fehler beim Speichern der Maildaten", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            catch (Exception)
            {
                MessageBox.Show("Unbekannter Fehler", "Unbekannter Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }