Seite 1 von 1
E-Mail Client automatisch starten und Empfänger eintragen
Verfasst: 9. Dezember 2010 08:27
von darkshine
Guten Morgen,
meine Forensuche war leider ohne Erfolg. Ich würde gerne meinem Programm einen Menüpunkt "Logfiles senden" hinzufügen. Wenn man dies auswählt, dann soll sich der Standart E-Mail Client (Outlook, Thunderbird) öffnen, im Anhang sollen meine Logfiles stehen und meine E-Mail Adresse sollte eingetragen sein.
Der Nutzer muss also nur noch auf "senden" klicken.
Es würde auch reichen, wenn "nur" Outlook unterstützt wird.
Man kennt diese Funktion aus vielen Porgrammen und es wundert mich, dass ich nichts darüber gefunden habe. Die meisten E-Mail Themen beschäftigen sich mit dem schreiben eigener E-Mail Clients.
Vielen Dank
Verfasst: 9. Dezember 2010 09:43
von RHBaum
Welches BS ?
unter windows gibt es die (Simple) MAPI, die genau fuer sowas zustaendig ist. Theorethisch sollt da alles einfach sein. Du schickst deine "Mail" per MAPI raus, und windows kuemmert sich selber um den Rest. Also ruft das registrierte Mail Programm auf, traegt Sender und Empfaenger ein, du musst dann nur noch mit "senden" das Ding rausfeuern.
Ciao ...
Verfasst: 9. Dezember 2010 10:20
von archer
Einiges geht schon mit QDesktopServices.
Ob das mit dem automatischen Anhang auch geht weiß ich nicht.
Code: Alles auswählen
QDesktopServices::openUrl(QUrl("mailto:user@foo.com?subject=Just a test"));
Verfasst: 9. Dezember 2010 10:33
von franzf
Meine Firewall sendet mir die LogFiles immer als Nachrichtentext - vllt. ist das eine Alternative für dich.
Ansonsten liefert "google >> HTML mailto: add attachment" einiges an Ergebnissen, die ich jetzt aber nicht näher untersucht hab, obs auch mit QDesktopServices geht.
Verfasst: 9. Dezember 2010 10:46
von darkshine
Vielen Dank,
MAPI werde ich gleich ausprobieren.
Bei
Code: Alles auswählen
QDesktopServices::openUrl(QUrl("mailto:user@foo.com?subject=Just a test"));
Hier ist es wohl sehr umständlich einen Anhang anzufügen.
Verfasst: 9. Dezember 2010 10:58
von franzf
darkshine hat geschrieben:Bei
Code: Alles auswählen
QDesktopServices::openUrl(QUrl("mailto:user@foo.com?subject=Just a test"));
Hier ist es wohl sehr umständlich einen Anhang anzufügen.
Ich habs jetzt extra versucht - und es geht!!!
Code: Alles auswählen
QDesktopServices::openUrl(QUrl("mailto:user@foo.com?subject=Just a test&attachment=/pfad/zum/file1&attachment=/pfad/zum/file2"));
Verfasst: 9. Dezember 2010 14:28
von RHBaum
Hier ist es wohl sehr umständlich einen Anhang anzufügen.
Naja, MAPI iss ne COM Schnittstelle ... das erscheint manchmal auch recht umstaendlich
Ciao ...
Verfasst: 9. Dezember 2010 14:49
von darkshine
Kann es sein, dass es mit Outlook nicht funktioniert?
Ich habe folgendes versucht.
[code]
QDesktopServices::openUrl(QUrl("mailto:
user@foo.com?subject=Just a test&attachment=C:/setup.log"));
[/code]
Dies funktioniert bei mir nicht. Outlook wird geöffnet, aber es wird kein Anhang eingefügt
Verfasst: 9. Dezember 2010 15:11
von franzf
C:/setup.log ist auch kein korrekter Windows-Dateipfad. Das sollte ziemlich lustig werden, mit ganz vielen "\\\"

ch hab kein WIndows und deshalb nur rudimentäres Wissen vom Höresagen, aber "\" muss in einem String immer escaped werde.)
Verfasst: 9. Dezember 2010 15:42
von archer
Nimm doch QDir als Hilfe
Code: Alles auswählen
QString file = QDir::toNativeSeparators("C:/setup.log");
QString mailto = "mailto:user@foo.com?subject=Just a test&attachment=" + file;
QDesktopServices::openUrl(QUrl(mailto));
Verfasst: 10. Dezember 2010 08:25
von darkshine
Also irgenwie läuft das alles nicht bei mir....dabei ist es doch nur eine zeile
Code: Alles auswählen
QString filemail = QDir::toNativeSeparators("C:/setup.log");
qDebug() << filemail;
QString mailto = "mailto:user@foo.com?subject=Just a test&attachment=" + filemail;
QDesktopServices::openUrl(QUrl(mailto));
Auch da wird bei mir kein Anhang eingefügt. Kann es denn jemand mit Windows und Outlook testen? Ich kann doch da nicht soviel falsch machen
