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.

Empfohlene Antworten

Veröffentlicht

Ich arbeite mit VisualStudio und, wenn es für dieses Problem möglch ist, ohne MFC.

Wie kann ich es ermöglichen das ich automatisch eine E-Mail versenden kann? Ist es besser über Outlook oder Outlook Express, natürlich sollte es auch für ältere Versionen gelten.

Währe toll wenn mir einer helfen könnte.

Danke

Matthias

http://www.codeguru.com/internet/smtp.shtml

Dort gibt es eine Klasse, mit der man per SMTP EMails versenden kann.

Sieht ganz viel versprechend aus und nutzt kein MFC.

grüße

themaster

Es gibt da drei grundsätzliche Möglichkeiten:

1.

Du hängst dich direkt an einen Mailclient mit Automatisierungsschnittstelle, z.B. Outlook. Damit bist du aber von diesem Client abhängig.

2.

Du verwendest eine generische Email-API wie z.B. MAPI. Nachteil dabei ist, dass du keine wirkliche Kontrolle darüber hast, wann die Mail verschickt wird, weil das von den Einstellungen des Benutzers abhängt. Der Vorteil ist, dass das mit praktisch jedem Mailclient funktioniert.

3.

Du verwendest eine SMTP Library, wie die, auf die dich themaster hingewiesen hat. Damit bist du völlig von Mailclients und deren Einstellungen unabhängig, brauchst aber eine Internetverbindung auf dem Rechner, die SMTP erlaubt.

Dumme Frage, aber das mit der SMTP fähigem Internet Zugang beziehst Du auf die Einstellungen im Outlook, oder? Bisher hat sich mir die Frage noch garnicht gestellt ob ein Internetzugang SMTP fähig sein kann.

Originally posted by matthiasr

Dumme Frage, aber das mit der SMTP fähigem Internet Zugang beziehst Du auf die Einstellungen im Outlook, oder?

Nein. Wenn du selbst SMTP benutzt, also sozusagen einen eigenen SMTP-Client mitbringst, brauchst du weder Outlook noch einen anderen Mailclient.

Wenn du das machst, verbindest du dich mit einem Mailserver im Internet und lädst die Mail direkt da ab.

Das Problem dabei ist nur, dass es diverse Szenarien gibt, in denen das nicht funktioniert. So muss z.B. der Rechner, wenn er nur über einen Mailserver im LAN seine Mails verschickt, gar keinen vollwertigen Internetzugang haben. Möglich ist auch, dass eine Firewall SMTP gar nicht oder nur auf bestimmte Server zulässt.

Es kann auch passieren, dass der empfangende SMTP-Server Mails aus dem Netzwerksegment des Rechners aufgrund von Blacklists nicht annimmt.

Ob das alles klappt, hängt also von der Umgebung ab, in der das Programm eingesetzt werden soll.

Wenn ich mir Deine Argumente anhöre, so darf ich feststellen das es, um relativ sicher zu gehen das die Mail auch versandt wird, das beste währe Deinen Punkt 2 zu wählen. Hierzu verwende ich die Funktion ShellExecute(), oder?

Sollte ich diese verwenden habe ich doch gleich noch nee Frage.

Mit

hInst = ShellExecute(NULL, "open", "mailto:mail@gmx.de?subject=Fehler E-Mail&body=Fehlertext, NULL, NULL, 0);

klapt das öffnen des Fensters Neue Nachricht schon gut, aber wie kann ich ein Attachment ranhängen und funktioniert das auch mit älteren Office-Paketen, bzw. funktioniert das auch mit OutlookExpress?

Ich weis, viele Fragen, aber ich steh ja noch an Anfang.

Danke

Matthias

Der Ansatz mit ShellExecute funktioniert mit jedem Programm, das sich als Windows-Standardmailhandler eintragen kann - Outlook, OE, Netscape usw.

Leider kannst du dich, zumindest nach dem, was hier steht, nicht darauf verlassen, dass der Mailclient mehr als Subject und Body auswertet.

Ein weiterer möglicher Nachteil ist, dass der Benutzer das Mailformular bestätigen muss. Und bei älteren Versionen von Outlook kann zuerst eine Messagebox aufgehen, die den Benutzer auffordert, ein Profil auszuwählen, falls Outlook gerade nicht läuft.

Automatisch gesendet wird die Mail auch nur dann, wenn der Mailclient dementsprechend eingestellt ist.

Mit Nummer 2 meinte ich eigentlich auch mehr so etwas wie MAPI. Damit kannst du Mails, auf Wunsch auch mit Attachment, gleich in den Postausgang stellen.

Es kommt halt darauf an, ob du weißt, wie die Umgebung des Rechners aussieht, auf dem das Programm läuft. Wenn du weißt, was funktioniert und was nicht, kannst du dich festlegen. Wenn nicht, solltest du enventuell mehr als eine Möglichkeit einbauen.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

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.