Datei versenden via Kontextmenü [senden an][Emailempfänger]

Anfängerfragen zum Programmieren mit PureBasic.
bin_neu_hier
Beiträge: 105
Registriert: 06.03.2019 21:52

Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von bin_neu_hier »

Hallo allerseits,

bastele gerade an einem Progrämmchen, das u. a. auch ICS-Dateien erzeugt. Die würde ich gerne per Email direkt aus dem Programm heraus versenden können.
Im Explorer-Kontextmenü gibt es die Menüpunkte [senden an] und [Emailempfänger]. Kann man sich in einem Programm dieser Funktionalität bedienen, also ohne Kenntnis davon, welches Email-Programm der Anwender installiert hat? Wenn ja, hätte ich dazu folgende Fragen:
* wie stellt man fest, ob diese Funktionalität vorhanden ist (für den Fall, dass ein PC kein Emailprogramm eingerichtet hätte)
* wie sähe der Programmaufruf aus, um eine Datei zu versenden?

Vielen Dank für Eure Unterstützung!
Bin mit 21 erstmals mit Computern in Kontakt gekommen und konnte mich daher in meiner Jugend ganz auf den Alkohol konzentrieren. Bin nun seit fast 40 Jahren programmiertechnisch konstant auf Anfänger-Level, konnte jedoch beim Thema Alkohol eine gewisse Virtuosität erreichen.
Irgendwas muss man ja gut können.
Axolotl
Beiträge: 148
Registriert: 31.12.2008 16:34

Re: Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von Axolotl »

Hallo,
der SendTo Mail Shortcut ist eine Erweiterung (Shell extention).
Es ist verknüpft mit einer clsid = {9E56BE60-C50F-11CF-9A2C-00A0C90A90CE}.
Das Objekt ist sendmail.dll.

So viel ich verstanden habe, braucht man Zugriff auf ein IDataObject.
Bei dem Thema bin ich aber nur staunender Beifahrer.
Tut mir leid, aber vielleicht motiviert diese (unnütze) Antwort ja die Experten. :oops:

BTW: Warum nutzte nicht (einfach) die eingebaute Mail Funktionalität?
Mostly running PureBasic <latest stable version and current alpha/beta> (x64) on Windows 11 Home
bin_neu_hier
Beiträge: 105
Registriert: 06.03.2019 21:52

Re: Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von bin_neu_hier »

Hallo Axolotl,

danke für die Antwort. Ich gehe davon aus, dass für die eingebauten Mail-Funktionen Angaben zu Server, Password und keine-Ahnung-was-noch-alles gebraucht wird - will ich dem User gar nicht alles abverlangen, will auch nicht, dass irgendwas "hinter dessen Rücken" abläuft. Werde also Plan "B" verfolgen, nämlich das jeweilie Email-Programm per Runprogram "fernzusteuern". Habe da Erfahrungen mit Thunderbird, das funktioniert ganz gut und der User hat bis zum "Absende"-Button alles unter Kontrolle, kann die Sache in "gesendete Emails" nachverfolgen, und und und.

Falls jemand die entsprechenden Befehlszeilenparamter für andere Email-Progs hätte (Outlook, ...), wäre ich für sehr dankbar dafür, könnte ich in einer Ini-Datei zur Auswahl vorschlagen.
Bin mit 21 erstmals mit Computern in Kontakt gekommen und konnte mich daher in meiner Jugend ganz auf den Alkohol konzentrieren. Bin nun seit fast 40 Jahren programmiertechnisch konstant auf Anfänger-Level, konnte jedoch beim Thema Alkohol eine gewisse Virtuosität erreichen.
Irgendwas muss man ja gut können.
Benutzeravatar
HeX0R
Beiträge: 2958
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von HeX0R »

Funktioniert das nicht?

Code: Alles auswählen

Mailto$  = "lalelu@bratwurst.com"
Subject$ = "Griazi wohl Frau Stirnimaa"
Body$    = ~"Hallo,\nist alles soweit klar?\nNa dann, melde Dich mal!\nGrüße"

RunProgram("mailto://" + URLEncoder(Mailto$) + "?subject=" + URLEncoder(Subject$) + "&body=" + URLEncoder(Body$))
Axolotl
Beiträge: 148
Registriert: 31.12.2008 16:34

Re: Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von Axolotl »

Bei mir geht der Standard Browser auf wenn ich eine Datei auswähle. Es ist auf jeden Fall eine gute Idee das nicht hinter dem Rücken des users zu tun.

Mailto ist in der Größe begrenzt und kann auch keine Dateianhänge, habe ich gelesen.
Mostly running PureBasic <latest stable version and current alpha/beta> (x64) on Windows 11 Home
bin_neu_hier
Beiträge: 105
Registriert: 06.03.2019 21:52

Re: Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von bin_neu_hier »

Hallo HeX0R,

vielen Dank für Deinen Input. Leider kann man per Mailto keine Dateien anhängen, sonst wäre das eine sehr einfache vorgehensweise. Habe beim rumgooglen irgendwo gelesen, dass anzuhängende Dateien im Mail-Body zu integrieren seien. An anderer Stelle wird vorgeschlagen, die Email mit den Mail-Funktionen in PureBasic "zusammenzubauen" und dann per Mailto zu versenden. Leider alles viel zu hoch für mich. Falls jemand dafür eine Lösung hat, wäre es schön, aber mit der "Fernbedienung für Thunderbird" erreiche ich auch mein Ziel.

Das mit der Tilde vor dem String war mir neu, kannte ich (als Dauer-Anfänger) noch nicht. Pfiffig!

Servus
Bin mit 21 erstmals mit Computern in Kontakt gekommen und konnte mich daher in meiner Jugend ganz auf den Alkohol konzentrieren. Bin nun seit fast 40 Jahren programmiertechnisch konstant auf Anfänger-Level, konnte jedoch beim Thema Alkohol eine gewisse Virtuosität erreichen.
Irgendwas muss man ja gut können.
Benutzeravatar
HeX0R
Beiträge: 2958
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von HeX0R »

Ähm ja... wer lesen kann...
Ich hab tatsächlich nicht geschnallt, dass Du nen Anhang mitschicken wolltest, dann geht meine Lösung natürlich nicht.
In Android hab ich das mal gemacht, da geht das sehr einfach.
Aber für Windows fällt mir momentan keine simple Lösung ein.
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von Nino »

bin_neu_hier hat geschrieben: 28.09.2022 09:17 Leider kann man per Mailto keine Dateien anhängen, sonst wäre das eine sehr einfache vorgehensweise. Habe beim rumgooglen irgendwo gelesen, dass anzuhängende Dateien im Mail-Body zu integrieren seien.
Ja, ein E-Mail-Anhang ist Teil des Mail-Bodys. Schreib doch einfach mal 'ne Mail mit 'nem (kleinen) Anhang, ohne sie abzuschicken und sieh dir dann die Mail im Quelltext an (jedes ernstzunehmende Mailprogramm ermöglicht das). Dann siehst du, auf welche Weise der Anhang in den Mail-Body eingebaut ist. Die genauen Regeln stehen im zugehörigen RFC. Um die Mail zu erzeugen, braucht man nur den PB-Befehl WriteString(). :-)
bin_neu_hier
Beiträge: 105
Registriert: 06.03.2019 21:52

Re: Datei versenden via Kontextmenü [senden an][Emailempfänger]

Beitrag von bin_neu_hier »

Hallo Nino,

guter Tipp, hatte mir aber Emails schon das eine oder andere Mal "von innen" betrachtet und festgestellt, dass ich in diesem Leben nicht mehr dazu komme werde, die 50 Seiten RFC zu verinnerlichen.

Aber vielleicht weiß ja jemand, ob Dein Vorschlag quasi mit PureBasic umzusetzen ist, quasi so :

Code: Alles auswählen

cm = CreateMail(#pb_any, "abc@irgendwo.org", "Hello")
If cm <> 0 AND AddMailAttachment(cm, "Anhang", Dateipfad zum Anhang) <> 0

jetzt die Email als Entwurf speichern (Sendmail in Datei umleiten?)

EndIf
... um dann den Entwurf per RunProgramm und Mailto-link zu versenden. Kann sein, dass ich mir das zu einfach vorstelle - sorry, habe keine Ahnung davon, sonst müsste ich ja nicht fragen.
Bin mit 21 erstmals mit Computern in Kontakt gekommen und konnte mich daher in meiner Jugend ganz auf den Alkohol konzentrieren. Bin nun seit fast 40 Jahren programmiertechnisch konstant auf Anfänger-Level, konnte jedoch beim Thema Alkohol eine gewisse Virtuosität erreichen.
Irgendwas muss man ja gut können.
Antworten