Autor Beitrag
Csharp-programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Do 04.02.16 23:44 
Hallo ihr Experten. Ich habe ein Projekt, welches ich optimieren möchte. Wie in meiner Webseite erwähnt, möchte ich in die Schuldenverwaltung eine E-Mail Funktion einbauen. Ich habe auf der Hauptform eine ListView. Über diese Funktion möchte ich dem Schuldner tabellarisch die wichtigsten Daten (Datum, Artikel, Preis, Beschreibung) zukommen lassen. Diese Daten liefert die ListView.

Meine Idee: ich generiere einen String mit \t. Aber das erscheint mir als unzuverlässig. Kann man eine art Tabelle generieren und diese als E-Mail verschicken?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 05.02.16 00:29 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Fr 05.02.16 14:45 
Ich habe auch mal darüber nachgedacht eine DDF Datei zu erstellen, habe aber gelesen, dass man dazu ein Plugin braucht. Hier ist das Problem: ich möchte die Anwendung später auf meiner Homepage veröffentlichen. Die Leute, die sich diese Anwendung dann herunterladen, brauch doch dann auch das Plugin oder nicht?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Fr 05.02.16 14:53 
Eine PDF generieren ist relativ einfach, das kann Office für dich.
Aber ja, der User braucht dann AcrobatReader oder etwas Ähnliches um die Daten zu sehen.

Du kannst allerdings auch eine HTML-Mail schicken.
Das machen wir bei unserem Shop-System so, wie das unter C# funktioniert, kann ich dir aber leider nicht sagen.
Der Nachteil von HTML-Mails ist aber, dass jeder Browser oder EMail-Client die potentiell ein wenig anders darstellt. Es ist daher nicht ganz einfach, das HTML-Template so zu schreiben, dass es überall gleich aus sieht.
Das zweite Problem: Du kannst soweit ich weiß HTML in EMails deaktivieren, das heißt, der User kann deinen HTML-Code nicht sehen. Für den Fall müsstest Du also noch eine "normale" EMail mit schicken.

Oder Du renderst das als Bild, aber auch das kann deaktiviert werden und zumindest Outlook macht das glaube auch immer.


Ich würde alle Varianten (bis auf das Bild) kombinieren.
Eine PDF im Anhang, eine HTML-Mail und eine Plaintext-Mail, für den Fall, dass HTML nicht angezeigt wird.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Fr 05.02.16 15:07 
Wie man ein Bild randert, weiß ich überhaupt nicht.
Die Idee mit der HTML- Mail gefällt mir, aber ich kenne noch keine Klasse, die das in C# übernimmt. Aber die PDF- Variante gefällt mir auch aber dort braucht der User ja den Reader, was mich ein wenig stört.

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 05.02.16 15:25 
Wenn du bisher die MailMessage Klasse benutzt hast mußt du das einfach nur weiterhin tun. Einfach die IsBodyHtml Property setzen und dann in den Body Html schreiben. Das Html mußt du nur selbst erzeugen.

Einen PDF Reader sollte heute irgendwie jeder haben. Das nicht vorhanden sein eines PDF Readers zu berücksichtigen ist ganz nah an dem Fall anzunehmen das der User keinen Browser hat oder keinen Html-fähigen Mailclient.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 08.02.16 23:32 
Also ich hatte schon wieder das Problem, dass angeblich die Anmeldedaten falsch waren. Aber jetzt haut es hin und ich habe ein paar Fragen:

1) Angenommen ich möchte eine E-Mail von GMX zu WEB schicken, muss ich dann den SMTP- Server von GMX oder WEB nehmen?
2) Ist der MailMessage Algorithmus zuverlässig?
3) Meine Mama meinte, wenn er das über Telefon empfängt, kostet es was. Ich aber wegen dem Server kostenlos, oder?
4) Das Passwort, was man bei dem Client eingeben muss ist ja das eigene, nicht das, wo man die E-Mail hinschickt, oder?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
try
            {
                MailMessage mail = new MailMessage(this.textBox1.Text, this.textBox2.Text, this.textBox6.Text, this.richTextBox1.Text);
                SmtpClient client = new SmtpClient(this.textBox3.Text);
                mail.IsBodyHtml = true;
                client.Port = 587;
                client.Credentials = new System.Net.NetworkCredential(this.textBox4.Text, this.textBox5.Text);
                client.EnableSsl = true;
                client.Send(mail);
                MessageBox.Show("SEND");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 09.02.16 01:17 
1.) Eher den von GMX. Wenn du Zugriffrechte auf den von WEB hast ist das aber eigentlich egal welchen der beiden du nimmst.
2.) Welcher Algorithmus? SMTP ist ein ziemlich simples Protokol und ja MailMessage/SmtpClient kann das.
3.) Der Zugriff auf den POP3/IMAP Server ist ein Internet Zugriff. Wenn du einen Tarif hast wo du für Bandbreite bezahlst dann kostet es was dort Mails abzurufen. Über das Telefon empfangen ist übrigens eher das falsche Vorstellensmodell. Per SMTP sendest du Mails an eine MailBox nicht an ein Gerät. Z.B. vom Handy aus kannst du per POP3/IMAP/Active Sync/weitere Protokolle diese Mails aus deiner MAilBox abrufen.
4.) Natürlich. Es sind deine Credentials für den SMTP Server die du brauchst. Es müssen aber nicht zwingend die gleichen sein wie für den IMAP/POP3 Server zum abrufen der MAils brauchst. Sind aber oft/meist das gleichen.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Di 09.02.16 22:07 
Vielen Dank. Meit meiner GMX E-Mail funktioniert es. Wenn ich aber eine E-Mail von meinem Webkonto verschicken möchte, meckert der Server, dass die Anmeldedaten falsch sind. Obwohl ich weiß, dass sie richtig sind.

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein