VB 2008 Email versenden

Liebe Wer-weis-wass Comunetie

Ich habe ein Visual Basic 2008 Programm erstellt das automatisch Emails versendet. In diesem kommt Der befehl

"MailServer.Credentials = New NetworkCredential(„Meine Emailadresse“, „Mein Passwort“)

vor mit diesem logt sich mein Programm beim smtp Server ein. Danach kann ich Emails versenden. Wenn ich zuviele Emails mit einmal einlogen verschicke kommt eine Fehlermeldung. Also logge ich mich alle 10 emails mit dem Befehl neu ein. Meine Frage ist nun kann man dass „New“ in dem Befehl gegen irgentetwas anderes ersetzen was das login bestätigt damit Der Programmflus Schneller abläuft?

mfg Aragon.aratons.sohn

Hallo,

das „new“ kannst du nicht weglassen, weil dass erzeugt eine neue Instanz der Klasse NetworkCredential.

Was aber funktionieren sollte ist:

MailServer.Credentials = New NetworkCredential()
'und danach:
MailServer.Credentials.da müsste es irgendwas wie login oder connect und logout geben

und diese Prozeduren dann für den login und logout nach jeweils 10 Mails verwenden.

Allerdings sollte der Aufruf von new nicht lange dauern, ich glaube eher dass die Verbindung und der Login
zum Mailserver relativ lange dauert. Außerdem kannst du dich oftmals z.B. bei FreeMailAccounts nur jede volle Minute neu einloggen.
Ich glaube dass dein Geschwindigkeitsproblem eher da liegt.

Ich hoffe ich konnte dir helfen…

mfg

Danke

dass verstehe ich soweit aber ich denke NEW ist ein Teil des logins und um den Neulogin(alle 10 mails) zu beschleinigen wollte ich das new gegen etwas anderes eersetzen was die Verbindung bestätigt oder sowas.

mfg

Falsch, „new“ erzeugt eine neue Instanz der Klasse. Ohne new gibts dein Object nicht und du kannst nicht darauf zugreifen. Man kann bei dieser Instanzierung schon primäre Parameter übergeben, hier eben die Logindaten, das führt dazu dass gleich bei der Instanzierung der Login erfolgt. Man kann diesen Login aber auch wie in der letzten Mail beschrieben manuell ausführen.

Abgesehen davon wird bei dem Befehl new nur ein Speicherbereich im RAM reserviert. Je nachdem wie groß die Klasse ist, sind das einige kByte, maximal aber vielleicht ein mByte. Bei einem heutigen System dauert sowas maximal einige Nanosekunden. Das ist für den User überhaupt nicht zu bemerken.

Ich bin mir ziemlich sicher das diese bemerkbare Verzögerung nicht in deinem Programm sondern in der Kommunikation mit dem Mailserver verursacht wird.

Du kannst dies ganz einfach testen wenn du nur new machst, ohne Parameter geht alles schnell, sobald du aber den Login machst wirds langsam.

mfg

ok allerbesten dank

mfg