E-Mail versenden mit intelligenter Regel (Absender und Empfänger mit Zertifikat)

Hallo,

ich möchte automatisch mit einer intelligenten Regel eine E-Mail versenden. Das funktioniert auch in ca. 50 % der Fälle gut. Es kommt in den anderen 50 % der Ausführung die Fehlermeldung

“Diese E-Mail kann nicht verschlüsselt werden, da Mail noch nicht für alle Teilnehmenden die öffentlichen Schlüssel gefunden hat. Möchtest du die E-Mail unverschlüsselt senden?”

Bildschirmfoto 2023-11-03 um 10.17.08

und das Versenden erfolgt nicht, weil das erst manuell bestätigt werden muss.

Gibt es eine Möglichkeit diesen Fehler auszuschließen? Kann man den Versand verzögern, damit die Mail ausreichend Zeit hat, um die Schlüssel abzurufen?

Danke und VG,
Chris

Gibt es denn überhaupt eine Garantie, dass beliebige öffentliche Schlüssel auffindbar sind?

Das kann ich leider nicht sagen, aber in meinem Fall sind diese definitv vorhanden, weil der Empfänger in den Einstellung der intelligenten Regel definiert ist und das Versenden ja auch manuell durch klicken auf OK funktioniert. Sie werden also offensichtlich nicht schnell genug gefunden, bevor DEVONthink das Versenden auslöst.

Diese Nachricht kommt von Mail, nicht von DEVONthink. Und wie sieht Ihre intelligente Regel aus?
(Übersetzt mit DeepL)

Ich vermute, dass nicht DT die Post verschickt, sondern Mail. Also sollte jenes auch selbst damit warten, bis es die nötigen Schlüssel hat. Woher sollte DT überhaupt wissen, dass diese Mail verschlüsselt werden soll? Es dürfte einfach nur Mail sagen, dass es etwas wegschicken soll. Vielleicht per Script, vielleicht per mailto: URL.

Oh nein! Ich habe übersehen, dass eine andere Regel die E-Mail versendet :man_facepalming: … Nichtsdestotrotz wird in dieser Regel die E-Mail per AppleScript versandt … oder eben auch nicht. Das Applescript lautet:

on performSmartRule(theRecords)
	set theReceiver to "me@server.com"
	set theBody to "Das habe ich gefunden."
	set theSubject to "Neues Dokument"
	tell application id "DNtp"
		repeat with theRecord in theRecords
			sendMail(path of theRecord, theBody, theSubject, theReceiver) of me
		end repeat
	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}
		end tell
		send msg
	end tell
	
end sendMail

Ich frage mich, warum das manchmal funktioniert und manchmal nicht…

Da ist systematisches Vorgehen gefragt: bei welchen Empfängern scheitert es? Immer bei denselben? Sind deren private Schlüssel vorhanden?

Es gibt natürlich auch die Möglichkeit, dass Mail ein Problem hat. Mit DT hat das alles jedenfalls nichts zu tun.

3 Likes