Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

email applikation starten

Frage Microsoft

Mitglied: marmll

marmll (Level 1) - Jetzt verbinden

24.10.2005, aktualisiert 15:51 Uhr, 6279 Aufrufe, 10 Kommentare

email applikation starten unabhängig um welche es sich handelt...

hallo leute,

ich möchte gerne aus meinen programm aus die email-applikatin starten, die als default-email-applikation auf dem rechner installiert ist. ähnlich wie ein doppelklick auf eine html-seite und schon geht der default-browser auf oder ähnlich wie ein link auf mailto...

gruß und danke
Mitglied: 11078
24.10.2005 um 14:16 Uhr
Hallo,

die Email-Application, die unter Windows Standard ist, ist unter dem Protokoll "mailto:" registriert. In der Registry:

HKEY_CLASSES_ROOT\mailto

Was Du von deinem Programm aus machen musst, ist also entweder

1) ein Systemaufruf der Art: "mailto://$email-adresse", damit Windows die Anwendung aufruft, oder

2) Du lässt Dein Programm die Registry auslesen!
Unter: <v>HKEY_CLASSES_ROOT\mailto\shell\open\command</i> ist im Standardwert dieses Unterschlüssels der Pfad zur Standard-Anwendung für Emails hinterlegt. Diesen Pfad könntest Du einlesen, als Variable speichern und Dein Programm dann selbst das Email-Programm aufrufen lassen.


Welche Programmiersprache nutzt Du denn?

Gruß,
Tim
Bitte warten ..
Mitglied: marmll
24.10.2005 um 14:25 Uhr
hallo danke erstmal.

ich programmiere in c#

dann werde ich mal versuche einen prozess zu startet nach deiner ersten methode, da ich keine lust habe die registry zu parsen.

gruß
Bitte warten ..
Mitglied: 11078
24.10.2005 um 14:30 Uhr
Hallo,

ja, ich würde auch Windows den Job machen lassen...

"$email-adresse" im oberen Beispiel soll natürlich nur die Variable sein, in der Du die zu nutzende Emailadresse im Aufruf gespeichert hast. Das $-Zeichen stammt aus einer anderen Sprache


Gruß,
Tim
Bitte warten ..
Mitglied: 8644
24.10.2005 um 14:37 Uhr
Hi,

falls du in C# die ShellApi einbinden kannst, was ja eigentlich gehen sollte, versuch mal das
folgende Delphi-Beispiel umzubauen:

strEmail := 'user@host.com';
strSubject := 'Your Subject';
strBody := 'Your Message Text';

Param := 'mailto:' + strEmail + '?subject=' + strSubject +
'&Body=' + strBody;

ShellExecute(Form1.Handle, 'open', PChar(Param), nil, nil, SW_SHOWNORMAL);


Psycho
Bitte warten ..
Mitglied: marmll
24.10.2005 um 14:58 Uhr
hi,

System.Diagnostics.Process st;
st=new System.Diagnostics.Process();
st.StartInfo.FileName = "mailto:hans@aol.com"
st.StartInfo.Arguments = "C:\\logfile.txt";
st.Start();
st.Close();

klappt soweit ganz gut, aber leider nimmt die email-applikation (thunderbird) nicht das logfile als attachment dazu. ich bin mir aber sicher, dass das irgendwie gehen muß, da ich schon programme hatte die das so gemacht haben.
eine idee?

gruß
Bitte warten ..
Mitglied: 8644
24.10.2005 um 15:04 Uhr
Hi,

da mußt du es mal über MAPI versuchen

Psycho
Bitte warten ..
Mitglied: marmll
24.10.2005 um 15:17 Uhr
st.StartInfo.FileName = "mailto:hans@aol.com?subject=test&Body=abc";

nun bin ich soweit gekommen... fehlt immer noch das attachment...

das werden wir wohl auch noch herausfinden
Bitte warten ..
Mitglied: 11078
24.10.2005 um 15:38 Uhr
Hallo,

das mailto-Protokoll kennt keine Möglichkeit, Attachments mit zu übergeben (Parameter nur "cc","bc","subject" und "body"). Dahingehend kannst Du die Sache mit dem Systemaufruf also vergessen!

Wenn das Mailprogramm, das Du verwendest, eigene Kommandozeilenargumente kennt, um den Emailversand (eventuell mit Anhängen eines Attchments über Kommandozeile) zu automatisieren, dann würde ich auf meinen ursprünglichen zweiten Tipp verweisen, um den Pfad zum Standard-Mailclient aus der Registry zu lesen.

Dritte Möglichkeit: Forsche mal nach, ob es nicht für c irgendwelche SMTP Bibliotheken zum Einbinden in Dein Programm gibt, die unter anderem auch das Einbinden von Attachments vereinfachen.


Gruß,
Tim
Bitte warten ..
Mitglied: 8644
24.10.2005 um 15:44 Uhr
Hi,

vielleicht hilft das:

http://www.aspheute.com/artikel/20010122.htm

Psycho
Bitte warten ..
Mitglied: marmll
24.10.2005 um 15:51 Uhr
hi,

hmmm... eine kleine klasse die als smtp-server fungiert ginge. allerdings müßte der user zugangsdaten einpflegen (smtp auth) und meine benutzer sind damit leider hoffnungslos überfordert...dann weiß man ja auch nicht wie die firewall einstellungen in dem netzwerk sind, wo das programm laufen soll, etc. na dann werde ich mal weiter forschen...

herzlich dank für die schnellen tipps

marmll
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Remote Desktop Services - Collection - Applikationen freigeben (7)

Frage von MiljanCH zum Thema Windows Server ...

E-Mail
Email für Benachrichtigungen (5)

Frage von deredvtyp zum Thema E-Mail ...

E-Mail
Spamschutz bei Emails (2)

Frage von Yanmai zum Thema E-Mail ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (10)

Frage von Paderman zum Thema Server-Hardware ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...

Voice over IP
48 Port VOIP Switch mit POE gesucht (8)

Frage von brutzler zum Thema Voice over IP ...