simonsayz
Goto Top

Automatischer mailversand aus unserer Software

Unsere Kunden sollen die Möglichkeit bekommen aus unserem Programm emails erstellen zu können die dann bei Thunderbird und co automatisch den Empfänger , den Anhang etc eintragen.

Bei Thunderbird sieht der Eintrag in der ini Datei so aus:

emailCommand="thunderbird -compose
to=$recipient,subject=$subject,body=$content,attachment=$attachment"

Gibt es irgendwie eine möglichkeit für Outlook dasselbe zu machen?

Habe schon geguckt, es gibt nur für "Anhang" einen command line switch... hat jemand eine andere Idee?

Content-Key: 211704

Url: https://administrator.de/contentid/211704

Printed on: April 16, 2024 at 18:04 o'clock

Member: eumel1979
eumel1979 Jul 17, 2013 at 10:27:33 (UTC)
Goto Top
Hi,

kannst du nicht einfach die mailto: aufrufen? Dann wäre es doch egal welcher Client genutzt. Er würde den Standard MAPI Client starten.


Gruß eumel
Member: DerWoWusste
DerWoWusste Jul 17, 2013 at 10:42:45 (UTC)
Goto Top
Hi.

Geht auch mit Outlook: http://www.google.de/search?q=outlook+%22command+line%22#sclient=psy-ab ...
Auch mit Outlook Express und somit vermutlich auch Windows (Live) Mail.
Member: colinardo
colinardo Jul 17, 2013 at 10:48:07 (UTC)
Goto Top
Hi,
für Outlook geht ein simples VBS-Script:
Set objOutlook = CreateObject("Outlook.Application")  
Set objMail = objOutlook.CreateItem(0)
With objMail
	.To = "empfänger@email.de"  
	.Subject = "Betreff"  
	.Body = "Dein Body"  
	.Attachments.Add "c:\DeinAttachment.pdf"  
	.Display
End With

Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke
Member: simonSayz
simonSayz Jul 17, 2013 at 11:29:01 (UTC)
Goto Top
danke für die Antworten face-smile

bei outlook 2003 gibt es imho keine switches für zb Empfänger sondern nur für emails mit Anhang.

alles was ich derzeit weiss sind die oben genannten Variablen , habe auch schon (erfolglos) versucht das einfach umzubauen für outlook...
Member: DerWoWusste
DerWoWusste Jul 17, 2013 updated at 11:40:23 (UTC)
Goto Top
Du hast den Link nicht weiter angesehen? Da steht doch alles. Im zweiten Treffer ist ein Beispiel mit Empfänger. Es gibt sicherlich auch MS-knowledgebaseeinträge zum Mailversand.

Edit: Und colinardos VBSkript lässt doch auch keine Wünsche offen - abspeichern und über die ini ansprechen.
Member: simonSayz
simonSayz Jul 17, 2013 at 13:25:11 (UTC)
Goto Top
ich werde jetzt mal überprüfen ob widererwarten die outlook express switches funktionieren...

das mit dem vb skript habe ich zur Prüfung weitergegeben und noch keine antwort erhalten.
Member: simonSayz
simonSayz Jul 17, 2013 at 14:47:28 (UTC)
Goto Top
Zitat von @colinardo:
Hi,
für Outlook geht ein simples VBS-Script:
> Set objOutlook = CreateObject("Outlook.Application")  
> Set objMail = objOutlook.CreateItem(0)
> With objMail
> 	.To = "empfänger@email.de"  
> 	.Subject = "Betreff"  
> 	.Body = "Dein Body"  
> 	.Attachments.Add "c:\DeinAttachment.pdf"  
> 	.Display
> End With
> 

kann man für "dein Body" etc auch Variablen benutzen?
Member: colinardo
colinardo Jul 17, 2013 updated at 15:07:56 (UTC)
Goto Top
Zitat von @simonSayz:
kann man für "dein Body" etc auch Variablen benutzen?
klar kann man, wenn man es so umschreibt:
(Speichere die Datei z.B. als createOutlookMail.vbs)
Set objArgs = WScript.Arguments
If objArgs.Count >= 3 Then
	strTO = objArgs(0)
	strSubject = objArgs(1)
	strBody = objArgs(2)
	If objArgs.Count = 4 Then
		strAttachment = objArgs(3)
	End If
Else
	WScript.Echo "Falsche Anzahl an Argumenten!"  
End If
Set objOutlook = CreateObject("Outlook.Application")  
Set objMail = objOutlook.CreateItem(0)
With objMail
	.To = strTO
	.Subject = strSubject
	.Body = strBody
	If strAttachment <> "" Then  
		.Attachments.Add strAttachment
	End If
	.Display
End With
aufrufen kannst du das Script dann so
cscript.exe //NOLOGO createOutlookMail.vbs "empfänger@email.de" "Dein Betreff" "Dein Body" "c:\Attachment.pdf"
Den Attachment-Parameter hab ich jetzt mal optional gemacht.
Member: simonSayz
simonSayz Jul 18, 2013 at 06:53:10 (UTC)
Goto Top
probier ich gleich mal aus face-smile danke!
Member: simonSayz
simonSayz Jul 18, 2013 at 13:30:46 (UTC)
Goto Top
über die cmd läuft dein programm fehlerfrei !
jetzt wurde mir gesagt das ich es auch über start->Ausführen ausführen können muss was mit deinem script leider nicht passiert (Fenster öffnet sich und schliesst so schnell das ich dort nix lesen kann).

hast du dafür vllt auch eine idee?
vielen Dank schonmal für die Mühe die du dir machst!
Member: colinardo
colinardo Jul 18, 2013 at 17:22:09 (UTC)
Goto Top
schreib es dort mal so:
"C:\Pfad\createOutlookMail.vbs" "empfänger@email.de" "Dein Betreff" "Dein Body" "c:\Attachment.pdf"  
Wenn im Pfad zur *.vbs Datei ein Leerzeichen enthalten ist, den Pfad mit Anführungszeichen einschließen.
Member: simonSayz
simonSayz Jul 19, 2013 updated at 13:57:35 (UTC)
Goto Top
danke das klappt soweit nun!
ich muss einen befehl zum emailaufruf in eine ini datei schreiben...

"cscript H:cscriptNOLOGO mailscript.vbs $recipient $subject $content $attachment" (speicherort von mailscript.vbs ist in path variable eingetragen)

nur so meckert das Programm nicht gleich wenn die ini eingelesen werden soll, wenn ich die einzelnen Variablen wie von dir gesagt in "" schreibe meckert er, wenn ich die "" nicht schreibe geschieht nichts beim aufruf.

Zur info:

Kunde ruft einen Auftrag auf und klickt auf drucken.
In dem Fall wird eine Druckvorschau des Auftrags angezeigt. Normalerweise gibt es schon dort einen kleinen button zum direkten emailversand. Leider ist dieser nun ausgegraut...

Wenn ich über "Datei"->"als eMail versenden" gehe wird im hintergrund zwar ein pdf des Auftrags erstellt (deren Speicherort soweit ich weiss in Variable $attachment geschrieben wird) aber kein Outlook aufgerufen geschweige denn die Informationen eingefüllt.
Member: colinardo
colinardo Jul 19, 2013 updated at 14:08:06 (UTC)
Goto Top
Zitat von @simonSayz:
danke das klappt soweit nun!
ich muss einen befehl zum emailaufruf in eine ini datei schreiben...

"cscript H:cscriptNOLOGO mailscript.vbs $recipient $subject $content $attachment" (speicherort von mailscript.vbs
ist in path variable eingetragen)
bitte poste Code mit Tags, sonst gehen hier Sonderzeichen wie ein doppelter Slash unter der in der Zeile ja zwei mal vorkommen muss.
Der Pfad zur mailscript.vbs musst du natürlich mit angeben ...z.B. "c:\Scripts\mailscripts.vbs" auch mit Anführungszeichen wenn Leerzeichen darin vorkommen.

nur so meckert das Programm nicht gleich wenn die ini eingelesen werden soll, wenn ich die einzelnen Variablen wie von dir gesagt
in "" schreibe meckert er, wenn ich die "" nicht schreibe geschieht nichts beim aufruf.

Zur info:

Kunde ruft einen Auftrag auf und klickt auf drucken.
In dem Fall wird eine Druckvorschau des Auftrags angezeigt. Normalerweise gibt es schon dort einen kleinen button zum direkten
emailversand. Leider ist dieser nun ausgegraut...

Wenn ich über "Datei"->"als eMail versenden" gehe wird im hintergrund zwar ein pdf des Auftrags
erstellt (deren Speicherort soweit ich weiss in Variable $attachment geschrieben wird) aber kein Outlook aufgerufen geschweige
denn die Informationen eingefüllt.
kenne euer Programm leider nicht, deshalb meine Info an euch, das ganze lässt sich mit jeder halbwegs guten Programmiersprache (welche COM unterstützt) auch direkt im Programm machen, ohne Umweg über eine VBS-Datei. Du scheinst nicht der Programmierer der Software zu sein sonst wüstest du das normalerweise. Frag mal deinen Programmierer welche Sprache er verwendet ....