Zum Inhalt springen

E-Mails versenden


matthiasr

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...