Versand der Suchergebnisse via Mail als PDF

Servus,

folgende Situation:

Ich habe es als Newbie geschafft ein Suchset anzulegen mit einem einigermaßen zufriedenstellenden Ergebnis. Die Resultate bekomme ich auch in DEVONthink als PDF transportiert.
Jetzt würde ich gerne ebendiese PDF, automatisiert, an eine Mailadresse senden lassen. Leider ist die “Hauslösung” nur der Versand einer Mail mit dem entsprechenden Suchinhalt.

Wich schaffe ich es, diese PDF aus DEVONagent, oder auch aus DEVONthink, automatisiert zu versenden. Danke an die Tippgeber.

Cheers

Eine intelligente Regel in DEVONthink 3 könnte das PDF-Dokument verschicken:


In diesem Beispiel wurde eine eigene Gruppe für die Resultate genutzt.

WOW. Genau was ich gesucht habe. DANKE!!!

Hallo in die Runde,

also bei mir funktioniert das leider nicht. Es wird anstelle einer PDF nur ein “Link” versendet.

Das sieht dann etwa so aus:

Rechnungxxyyyyxx.pdf
xx@domäne.com
x-devonthink-item://72001219-E4F8-47E2-8717-BF77958AA87C

Bin für jede Hilfe dankbar.
MW

Servus :slight_smile:

Was benutzt du für ein Mailprogramme? Sieht deine intelligente Regel genau so aus wie oben in diesem Thread?

Ohne ganz sicher zu wissen, ob das erforderlich ist: in den Systemeinstellungen , hat DEVONthink “Full Disk Access” (Security&Privacy/Full Disk Access) und darf DEVONthink Mail steuern (Security&Privacy/Automation)?

Intelligente Regel verschicken tatsächlich keine Attachments, sondern nur Links.

Danke für die Aufklärung; das Handbuch hatte mich glauben lassen, dass die Attachments an sich gesendet werden.

Aus dem DEVONthink Handbuch, Seite 232: “Send Mail: Enter email addresses to send the matching items.”; @BLUEFROG if, in fact, the Send Mail action in a smart rule does not send the records themselves, but links to the records, I think the quoted section of the handbook is misleading.

@MW1 mit einem Script kannst du die Anhänge verschicken (die sendMail Routine in diesem Script habe ich nicht selbst entwickelt, habe mir aber auch die Quelle leider nicht notiert):

property theReceiver : "" -- gültige E-Mail-Adresse des Empfängers in ""
property theSubject : "" -- Betreff der E-Mail in ""; wenn leer wird der Name des Anhangs verwendet
property theBody : "" -- Inhalt der E-Mail in ""; wenn leer wird der Name des Anhangs verwendet
property theQ : 1 -- 0: keine Nachfrage vor Mailversand; 1: Nachfrage vor Mailversand

on performSmartRule(theRecords)
	tell application id "DNtp"
		try
			if theReceiver is equal to "" then error "Im Script ist keine Empfängeradresse hinterlegt"
			repeat with theRecord in theRecords
				if theSubject is equal to "" then set theSubject to name of theRecord
				if theBody is equal to "" then set theBody to (name of theRecord & " vom " & creation date of theRecord)
				if theQ = 1 then
					set chDate to creation date of theRecord
					set shDate to short date string of (chDate)
					set chTime to time string of (chDate)
					set theName to name of theRecord
					set theDialog to ("Betreff: " & theSubject & "
Anhang: " & theName & "
vom: " & shDate & " at " & chTime & " 

E-Mail senden an " & theReceiver & "?")
					display dialog theDialog with title "Automatischer E-Mail Versand" buttons {"Cancel", "OK"} default button 2
				end if
				sendMail(path of theRecord, theBody, theSubject, theReceiver) of me
			end repeat
		on error error_message number error_number
			if the error_number is not -128 then display alert "DEVONthink" message error_message as warning
		end try
	end tell
end performSmartRule

on sendMail(theFile, theBody, theSubject, theReceiver)
	set AppleFile to POSIX file theFile
	tell application id "com.apple.mail"
		set msg to make new outgoing message with properties {subject:theSubject, content:theBody & return & return}
		tell msg
			make new to recipient at end of to recipients with properties {address:theReceiver}
			make new attachment with properties {file name:AppleFile as alias}
			delay 1 -- DO NOT REMOVE!
		end tell
		send msg
	end tell
end sendMail

Dieses Script kannst du in einer intelligenten Regel hinterlegen; die dort anfallenden Dokumente verschickt es einzeln. In den ersten 4 Zeilen musst du noch die Empängeradresse eintragen und entscheiden, ob du einen eigenen Betreff und Mailtext haben willst, sowie ob vorab eine Nachfrage durchgeführt werden soll.

Das Skript fragt nach Daten via Dialog. Für eine intelligente Regel, die ja in der Regel ohne Benutzeraktion abläuft, ist das vielleicht nicht so prickelnd. Ich würde das eher als einzelnes Skript benutzen, das man bei Bedarf startet.

Das Script fragt fragt nur nach ob es die E-Mail schicken soll wenn in der 4. Zeile “Property theQ” auf 1 steht; ansonsten arbeitet es ungefragt.

Ich benutze das Script auch um Dokumente, die ich eben eingescannt habe, automatisch zu verschicken; da theoretisch auch einmal die intelligente Regel falsch ausgelöst und daher ein Dokument, dass eigentlich nicht für die entsprechende Behörde gedacht ist verschickt werden könnte, benutze ich eine Abfrage - beim Scannen stehe ich ja so oder so am Mac.

Die ursprüngliche Fragestellung war ja der Versand von Ergebnissen, die aus DA an DT übermittelt worden sind. Da DA automatisiert werden kann, scheint es zumindest möglich, dass der ursprüngliche OP und auch der NP (neuer Poster; mein Neologismus) gar nicht am Mac sind, wenn das alles abläuft. Daher intelligente Regel, und daher im Script die Möglichkeit die Abfrage zu deaktivieren.

Für andere Anwendungszwecke wäre sowohl eine Abfrage des Empfängers, als auch ein automatischer Versand mit Bündelung aller Anhänge in einem Mail zu verwirklichen.

Ah ok, das muss ich mir merken :slight_smile:

@Blanc
@chrillek

Vielen Dank für die schnelle Hilfe, ich werde das Script am WE testen und berichte ob das bei mir funktioniert.

Der Vollständigkeit halber:
SYSTEM: BigSur (immer aktuell) / M1 / DevonThink 3.7.2

Hallo,

leider kenne ich mich mit Skripten so garnicht aus.

Ich habe das o. g. Script in eine Regel integriert. Dabei habe ich in Zeile 1 die Worte “gültige E-Mail-Adresse des Empfängers” mit meiner Mailadresse überschrieben.

Allerdings erhalte ich dann bei Ausführung der Mail von DT die Fehlermeldung:

Im Script ist keine Empfängeradresse hinterlegt.

Ich bin mir nicht sicher, ob die Bindestriche, Leerzeilen und das Wort “in” zwischen den “” genauso bestehen bleiben müssen bzw. was davon nicht.

Kann man mir diese Zeile wie für Doofe mal mit einer Musteradresse: Ahnungslos@gmx.de so vorgeben, dass ich es übernehmen kann?

Vielen lieben Dank

Die entsprechende Property müsste z.B. so aussehen:

property theReceiver : "Ahnungslos@gmx.de"

Alles nach dem -- ist nur ein Kommentar.