Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB.NET - POP-Connector - SMTP-Forward?

Empfohlene Antworten

Veröffentlicht

Moin!

Da mir die rückständige Oberfläche und unübersichtliche Bedienung von diversen POP-Connectoren auf die Nerven geht, habe ich mich entschlossen, meinen eigenen zu schreiben.

Ziel ist, eingehende Mails vom Provider abzuholen und an den internen Exchange Server (2007 bzw. 2010) weiterzuleiten.

Mit dem pop3-Receiver von openpop (OpenPop.NET - Robust POP3 client and MIME parser written in C#) funktioniert das Abholen schon mal ganz gut, doch beim Weiterleiten hapert's dann. Es gibt zwar die Methode Message.ToMailMessage (Message.ToMailMessage Method), mit der man das ganze dann über die SMTP-Funktionen von .NET weiterleiten kann - aber, wie hier schon richtig aufgeführt wird, erhält jeder, der im To und Cc aufgeführt ist, die Mail nochmal:

You should be aware of the following about this method:

All sender and receiver mail addresses are set. If you send this email using a SmtpClient then all receivers in To, From, Cc and Bcc will receive the email once again.

If you view the source code of this Message and looks at the source code of the forwarded MailMessage returned by this method, you will notice that the source codes are not the same. The content that is presented by a mail client reading the forwarded MailMessage should be the same as the original, though.

Content-Disposition headers will not be copied to the MailMessage. It is simply not possible to set these on Attachments.

HTML content will be treated as the preferred view for the Body. Plain text content will be used for the Body when HTML is not available.

Das bedeutet, dass ich bei einer Mail von extern, die beispielsweise an zwei interne Empfänger in meiner Organisation gerichtet ist, die Mail von beiden Postfächern beim Provider abhole und dann beim SmtpClient.send ungklücklicherweise jeweils an beide versende. D.h. jeder würde die Mail zwei Mal bekommen.

Gewünscht ist allerdings, dass nur dem Empfänger, der im "Envelope-To" steht, sie auch zugestellt bekommt.

Wie machen das die gängigen POP-Connectoren? Oder gibt es eine andere lib, die das kann?

Wäre über Antworten sehr dankbar :)

Grüße,

Den

Servus,

vielleicht solltest Du mal die Methode posten, die für die Weiterleitung der Mails verantwortlich ist.

Am POP-Connector kann das wohl nicht liegen.

Im POP-Connector habe ich gelesen, dass Du auch den Header auslesen kannst.

Dann dürfte es doch kein Problem sein, Envelope-To auszulesen und diese Adresse in Mail-To zu schreiben.

... denke ich mir mal so ;)

Bearbeitet von uenetz

  • Autor

Hm? Hab ich doch :) -> SmtpClient.send

Das ist die .NET-Methode für den SMTP-Versand aus System.Net.Mail - SmtpClient-Klasse (System.Net.Mail)

Aber vielleicht bin ich auch auf dem komplett falschen Weg, das zu erreichen?

Wenn ich allerdings MailMessage.To.clear mache und den To aus dem envelope-to einfüge, sieht der Empfänger nicht mehr, an wen die Mail ursprünglich alles gerichtet war. Z.B. um ein "Antworten an alle" zu starten.

  • Autor

Aber die Zustellung über SmtpClient.send funktioniert doch über die To, Cc und Bcc-Properties, oder?

Hab' mir auch gerade mal die .eml angeschaut, die OpenPop nach dem Konvertieren in die MailMessage-Klasse erzeugt... Ist auf jeden Fall keine 1:1-Kopie mehr und der envelope-to wird auch rausgeschmissen.

Gibt's vielleicht noch andere Möglichkeiten, das zu bewerkstelligen?

  • Autor

Sodala... Problem behoben!

Benutze jetzt einen anderen POP-Receiver, und zwar den hier:

Send (SMTP) and Receive (POP3) Email with Ease under VB.NET by David Ross Goben

Astrein dokumentiert und liefert die komplette Mail als POP3Message.Message, die man per SMTP an den Empfänger leitet.

Und zwar hiermit:

SMTP with .NET Micro Framework - Netduino Plus and Netduino Plus 2 - Netduino Forums

Im Grunde simple SMTP-Kommandos, die man dem Server mitsamt der runtergeladenen Message schickt. Damit kann sich nun jedermann einen eigenen POP-Connector basteln und Lizenzkosten sparen ;)

Wer noch Infos möchte, kann sich ja gerne melden.

Danke auch für die Denkanstöße :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.