Entwickler-Ecke

Verteilte Systeme - Kann man einen ZIP per Code über Email versenden?


Csharp-programmierer - Di 28.06.16 16:22
Titel: Kann man einen ZIP per Code über Email versenden?
Hallo,
ich habe mir ein Tool geschrieben, was ich nun noch ausbessern möchte. Ich habe eine Liste von den Empfängern. Per C# Code wird automatisch ein ZIP mit allen Daten erstellt, die ich ausgewählt habe. Nun soll dieser ZIP an alle Empfänger geschickt werden.
Geht das? Wenn ja, wie?
Im Netz habe ich noch nichts gefunden.

Nette Grüße :)


erfahrener Neuling - Di 28.06.16 16:29

Hallo Yannic,

funktioniert es denn nicht wie auch mit üblichen 'normalen' Dateien, diese als Anhang zu schicken?


Csharp-programmierer - Di 28.06.16 16:45

Naja ich habe mir jetzt mal einen Algorithmus zusammengebastelt:


C#-Quelltext
1:
MailMessage message = new MailMessage("programmierer123@web.de""programmierer123@web.de""Testprogramm""Body");                    

s der SMTP Host nicht angegeben wurde :think:

Moderiert von user profile iconChristian S.: C#-Tags korrigiert, der Rest ist aber auch irgendwie kaputt ...


Christian S. - Di 28.06.16 16:53

Und wieso gibst Du dann den SMTP Host nicht einfach mal an? :gruebel:


Csharp-programmierer - Di 28.06.16 17:39

Also ich muss sagen, dass ich erst ausversehen den Code mit den Logindaten gepostet habe. Dann habe ich es bemerkt, schnell ein Teil des Codes gelöscht und dann musste ich los zu einem Termin. Jetzt nochmal den Code:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
MailMessage message = new MailMessage("programmierer123@web.de""programmierer123@web.de""Testprogramm""Body");
            SmtpClient client = new SmtpClient();
            client.Port = 587;
            client.Credentials = new System.Net.NetworkCredential("programmierer123@web.de""PASSWORT");
            client.EnableSsl = true;

            Attachment a = new Attachment(Path.Combine(Application.StartupPath, "Testdaten.zip"));
            message.Attachments.Add(a);

            client.Send(message);


Also es kommt nur die Fehlermeldung, dass der SMTP Host falsch ist.


Delete - Di 28.06.16 17:50

- Nachträglich durch die Entwickler-Ecke gelöscht -


Csharp-programmierer - Di 28.06.16 19:53


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
MailMessage message = new MailMessage("programmierer123@web.de""programmierer123@web.de""Testprogramm""Body");
            SmtpClient client = new SmtpClient("smtp.web.de");
            client.Port = 587;
            client.Credentials = new System.Net.NetworkCredential("programmierer123@web.de""PASSWORT");
            client.EnableSsl = true;

            Attachment a = new Attachment(Path.Combine(Application.StartupPath, "Testdaten.zip"));
            message.Attachments.Add(a);

            client.Send(message);


Jetzt kommt der Fehler: Fehler beim Senden von Mail. Die Benutzerdaten waren aber richtig


Delete - Di 28.06.16 21:37

- Nachträglich durch die Entwickler-Ecke gelöscht -


Csharp-programmierer - Mi 29.06.16 20:16

Also wenn ich in VS auf Release schalte und die Email versende, funktioniert es. Wenn ich dann die .exe aus dem Releaseordner starte, funktioniert es auch. Wenn ich diese exe in einen anderen Ordner, der auch den ZIP enthält, verschiebe, dann funktioniert das nicht. Wie kann so etwas sein?


Ralf Jansen - Mi 29.06.16 20:19

Die exakte Fehlermeldung könnte da helfen.


Csharp-programmierer - Mi 29.06.16 20:23

Da steht als Fehlermeldung: Fehler beim Senden von Mail.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
 try
            {
                MailMessage message = new MailMessage("MaiLet-Software@gmx.de""MaiLet-Software@gmx.de""Testprogramm"this.richTextBox1.Text);
                SmtpClient client = new SmtpClient("smtp.gmx.de");
                client.Port = 587;
                client.Credentials = new System.Net.NetworkCredential("MaiLet-Software@gmx.de""PASSWORT");
                client.EnableSsl = true;

                Attachment a = new Attachment(Path.Combine(Application.StartupPath, "Testdaten.zip"));
                message.Attachments.Add(a);
                message.IsBodyHtml = true;

                client.Send(message);
                MessageBox.Show("SUCCESS");
            }
            catch (Exception ex)
            { MessageBox.Show(ex.Message); }


Anscheinend funktioniert es nur mit dieser Email Adresse :oops:


Ralf Jansen - Mi 29.06.16 20:27

In der Fehlermeldung sollte eigentlich die Serverantwort (das Problem das der Smtp Server mit deiner Mail hat) enthalten sein. Möglicherweise enthält die Exception die du bekommst eine InnerException mit einer konkreteren Fehlerbeschreibung.


Delete - Mi 29.06.16 20:48

- Nachträglich durch die Entwickler-Ecke gelöscht -


Csharp-programmierer - Mi 29.06.16 20:58

Entschuldigung Frühlingsrolle. Ich weiß nicht genau, was der Host überhaupt bewirkt. Wie muss das denn lauten? Bit Port 25 habe ich es auch schon versucht.


Delete - Mi 29.06.16 21:16

- Nachträglich durch die Entwickler-Ecke gelöscht -


Csharp-programmierer - Mi 29.06.16 21:53

Okay. Das habe ich jetzt so gemacht und es war wieder das Problem. Jetzt habe ich einen neuen Ordner angelegt. In diesen Ordner habe ich dann wieder alle notwendigen Dateien hinzugefügt. Dann hat sich Comodo gemeldet und ich denke mal es lag daran, dass ich bei Comodo eine andere Auswahl getroffen habe und so der Fehler zu stande gekommen ist.