private void button2_Click(object sender, EventArgs e) { try { MailAddress m = new MailAddress(tbxMeineMail.Text); tbxMeineMail.BackColor = System.Drawing.Color.White; Nachricht MailToTheEditor = new Nachricht(); MailToTheEditor.versenden(Properties.Settings.Default.absender, "", "", "Eine Nachricht von Coelina!", tbxMailToTheEditor.Text + "\n\n" + tbxMeineMail.Text , "", "", "", ""); MessageBox.Show("Danke für Ihre Nachricht."); } catch { tbxMeineMail.BackColor = System.Drawing.Color.LightPink; MessageBox.Show("Geben Sie IHRE E-Mail-Adresse an."); } }
private void button1_Click(object sender, EventArgs e) { string meldung = ""; if (tbxSmtpServer.Text == "" || System.Text.RegularExpressions.Regex.IsMatch(tbxSmtpServer.Text, @"\w+([-+.']\w+)*\.\w+([-.]\w+)*\.\w+([-.]\w+)*") == false) { tbxSmtpServer.BackColor = System.Drawing.Color.LightPink; Properties.Settings.Default.smtpServer = tbxSmtpServer.Text; Properties.Settings.Default.Save(); meldung = meldung + "\nSMTP-Server nicht korrekt."; } else { tbxSmtpServer.BackColor = System.Drawing.Color.White; Properties.Settings.Default.smtpServer = tbxSmtpServer.Text; Properties.Settings.Default.Save(); } if (System.Text.RegularExpressions.Regex.IsMatch(tbxSmtpPort.Text, @"[0-9]") == true) { tbxSmtpPort.BackColor = System.Drawing.Color.White; Properties.Settings.Default.smtpPort = Convert.ToInt32(tbxSmtpPort.Text); } else { tbxSmtpPort.BackColor = System.Drawing.Color.LightPink; meldung = meldung + "\nSMTP-Port nicht korrekt."; } if (tbxAbsender.Text == "" || tbxAbsender.Text.Contains('@') == false ) { tbxAbsender.BackColor = System.Drawing.Color.LightPink; Properties.Settings.Default.absender = tbxAbsender.Text; meldung = meldung + "\nAbsender-E-Mail nicht korrekt."; } else { tbxAbsender.BackColor = System.Drawing.Color.White; Properties.Settings.Default.absender = tbxAbsender.Text; } if (tbxPasswort.Text == "") { tbxPasswort.BackColor = System.Drawing.Color.LightPink; meldung = meldung + "\nLeeres Passwort nicht zugelassen."; Properties.Settings.Default.mailPassword = tbxPasswort.Text; } else { tbxPasswort.BackColor = System.Drawing.Color.White; Properties.Settings.Default.mailPassword = tbxPasswort.Text; } Properties.Settings.Default.SSLEinschalten = checkBoxSslEinschalten.Checked; if (meldung == "") { Properties.Settings.Default.MaileinstellungenKorrekt = true; MessageBox.Show("SMTP-Server: " + Properties.Settings.Default.smtpServer + "\nSMTP-Port: " + Properties.Settings.Default.smtpPort + "\nAbsender-Adresse: " + Properties.Settings.Default.absender + "\nAbsender-Passwort: " + Properties.Settings.Default.mailPassword, "Coelina"); try { Nachricht testmail; testmail = new Nachricht(); MailAddress m = new MailAddress("*****@*****.**"); MessageBox.Show(testmail.testmailSenden("*****@*****.**"), "Coelina"); } catch (Exception ex) { MessageBox.Show("Fehler: \n\nProbleme bei den Einstellungen. \nStimmen die E-Mail-Einstellungen?\n\nIst die Firewall richtig konfiguriert?\n\n " + ex, "Coelina"); Properties.Settings.Default.mailPassword = ""; Properties.Settings.Default.Save(); tbxPasswort.Text = ""; } } else { MessageBox.Show(meldung, "Coelina"); Properties.Settings.Default.MaileinstellungenKorrekt = false; } Properties.Settings.Default.Save(); }
private void senden() { string fusszeile; if (Properties.Settings.Default.mailsAlsHtmlSenden == true) { fusszeile = "<br><br><br><br><br><br><br><br><br><br>Versand dieser Nachricht mit dem <a href=\"http://www.coelina.de\">Coelina-Serienbrief-Mailer</<a>."; } else { fusszeile = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nVersand dieser Nachricht mit dem Coelina-Serienbrief-Mailer, www.coelina.de"; } // Zähler für die Listview int z = 0; // Wenn die Logdatei noch nicht existiert, wird sie erstellt. if (!File.Exists(Properties.Settings.Default.LogDatei)) { string eigeneDateien = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); //string coelinaLog = eigeneDateien + "\\coelina.log"; string coelinaLog = eigeneDateien + "\\"+ Properties.Settings.Default.LogdateiName+"."+Properties.Settings.Default.LogdateiDateiendung; File.CreateText(coelinaLog); Properties.Settings.Default.LogDatei = coelinaLog; Properties.Settings.Default.Save(); } //int n = frmSerienbriefdateiWählen.NeuePdfDatei.AnzahlSeiten; int n = Global.fNeueNachricht.Count(); // Progressbar einstellen progressBar1.Visible = true; progressBar1.Minimum = 1; progressBar1.Maximum = n+1; progressBar1.Value = 1; progressBar1.Step = 1; progressBar1.PerformStep(); for (int i = 0; i < n; i++) { // Falls keine Empfänger-Adresse ausgelesen werden konnte, findet auch kein Versand statt. if (Global.fNeueNachricht[i].Empfänger.Length > 1 && Global.fNeueNachricht[i].Empfänger != "Diese Nachricht wurde von Ihnen gelöscht.") { System.Threading.Thread.Sleep(5000); string empfaenger = Global.fNeueNachricht[i].Empfänger; cc = Global.fNeueNachricht[i].cc; bcc = Global.fNeueNachricht[i].Bcc; betreff = Global.fNeueNachricht[i].Betreff; body = Global.fNeueNachricht[i].Body; // Der Zeilenumbruch \n wird nach HTML konvertiert. body = body.Replace("\n", "<br>"); dateianhang = Global.fNeueNachricht[i].Dateianhang; optinalerAnhang1 = Global.fNeueNachricht[i].OptionalerAnhang1; optinalerAnhang2 = Global.fNeueNachricht[i].OptionalerAnhang2; optinalerAnhang3 = Global.fNeueNachricht[i].OptionalerAnhang3; smtpServer = Global.fNeueNachricht[i].Smtp; smtpPort = Global.fNeueNachricht[i].Port; absender = Global.fNeueNachricht[i].User; passwort = Global.fNeueNachricht[i].Password; kürzel = Global.fNeueNachricht[i].AliasKürzel; // Jetzt findet der Versand statt. // MessageBox.Show("Empfänger:" + empfaenger +".\ncc:"+cc+".\nbcc:"+bcc+"."); Global.fNeueNachricht[i].versenden(empfaenger, cc, bcc, betreff, body + fusszeile, dateianhang, optinalerAnhang1, optinalerAnhang2, optinalerAnhang3); // Ein neues Log-Objekt wird angeleget. Global.fLogs.Add(new Log(empfaenger, dateianhang, DateTime.Now.ToLongTimeString(), kürzel)); // Eintrag in die Listview vornehmen. z++; string[] zeileFürZeile = {empfaenger, dateianhang, z.ToString("000") }; listView1.Items.Add(DateTime.Now.ToLongTimeString()).SubItems.AddRange(zeileFürZeile); listView1.Refresh(); // Eintrag in die Logdatei ////logDatei.WriteLine(kürzel+ ", " + DateTime.Now.ToLongTimeString() + ", " + empfaenger + ", " + dateianhang); // Im Falle von bcc und / oder cc werden weitere Mails gesendet. if (cc != "") { Global.fNeueNachricht[i].versenden(cc, "", "", betreff, body + fusszeile, dateianhang, optinalerAnhang1, optinalerAnhang2, optinalerAnhang3); // Eintag in die Listview vornehmen. z++; string[] zeileFürZeile1 = {cc, dateianhang, z.ToString("000") }; listView1.Items.Add(DateTime.Now.ToLongTimeString()).SubItems.AddRange(zeileFürZeile1); listView1.Refresh(); // Eintrag in die Logdatei if (Properties.Settings.Default.CCundBCCinLogDateiSchreiben == true) { ////logDatei.WriteLine(DateTime.Now.ToLongTimeString() + ", " + cc + ", " + dateianhang); // Ein neues Log-Objekt wird angeleget. Global.fLogs.Add(new Log(cc, dateianhang, DateTime.Now.ToLongTimeString(), kürzel)); } } if (bcc != "") { Global.fNeueNachricht[i].versenden(bcc, "", "", betreff, body + fusszeile, dateianhang, optinalerAnhang1, optinalerAnhang2, optinalerAnhang3); // Ein neues Log-Objekt wird angeleget. // Global.fLogs.Add(new Log(bcc, dateianhang, DateTime.Now.ToLongTimeString(), kürzel)); // Eintag in die Listview vornehmen z++; string[] zeileFürZeile2 = { bcc, dateianhang, z.ToString("000") }; listView1.Items.Add(DateTime.Now.ToLongTimeString()).SubItems.AddRange(zeileFürZeile2); listView1.Refresh(); // Eintrag in die Logdatei if (Properties.Settings.Default.CCundBCCinLogDateiSchreiben == true) { ////logDatei.WriteLine(DateTime.Now.ToLongTimeString() + ", " + bcc + ", " + dateianhang); // Ein neues Log-Objekt wird angeleget. Global.fLogs.Add(new Log(bcc, dateianhang, DateTime.Now.ToLongTimeString(), kürzel )); } } } this.LogListeSortieren(Properties.Settings.Default.SortierkriteriumLogdatei); // Die Fortschrittsanzeige wird erstellt. progressBar1.PerformStep(); } // Ggfs. Lodatei um eine weitere Zeile ergänzen. if (Properties.Settings.Default.maillogSenden == true) { if (Properties.Settings.Default.CCundBCCinLogDateiSchreiben == true) { // Ein neues Log-Objekt wird angelegt. //logDatei.WriteLine(DateTime.Now.ToLongTimeString() + ", Logs an " + Properties.Settings.Default.absender + " gesendet."); // Ein neues Log-Objekt wird angeleget. Global.fLogs.Add(new Log(Properties.Settings.Default.absender, dateianhang, DateTime.Now.ToLongTimeString(), kürzel)); } } // Logdatei nach dem Schreiben schließen. //logDatei.Close(); //log.Close(); // Ggfs. Lodatei an den Absender schicken. //MessageBox.Show(anzeige); // in die Logdatei schreiben: try { FileStream log = new FileStream(Properties.Settings.Default.LogDatei, FileMode.Create, FileAccess.Write); StreamWriter logDatei = new StreamWriter(log); int i = Global.Logs.Count(); int j = 0; if (logDatei.BaseStream.Position == 0) { string jetzt = DateTime.Now.ToString(); logDatei.WriteLine(jetzt+"\n"); // Only write header in a new empty file. } logDatei.WriteLine(Properties.Settings.Default.kopfDerLogdatei + "\n\n"); while (j < i) { string komma = " "; if (Global.fLogs[j].Kürzel != " ") { komma = ", "; } string datei = Path.GetFileName(Global.fLogs[j].DateiAnhang); logDatei.WriteLine(Global.fLogs[j].Kürzel + komma + Global.fLogs[j].Empfänger + ", " + Global.fLogs[j].Zeitstempel + ", " + datei); j++; } logDatei.Close(); log.Close(); if (Properties.Settings.Default.maillogSenden == true) { Nachricht logMail = new Nachricht(); logMail.versenden(Properties.Settings.Default.absender, "", "", "Coelina salutes you!", "Anbei die Logdatei.", Properties.Settings.Default.LogDatei, "", "", ""); MessageBox.Show("Versand ok. Sofern sie eine Kopie an sich selbst geschickt haben, schauen Sie in Ihr Postfach.", "Coelina"); } } catch (Exception ex) { MessageBox.Show("Die Logdatei ist schreibgeschützt\n" + ex, "Coelina"); } groupBox3.Text = "Gesendet."; }