0
我想知道是否有方法使用AppleScript来确定当前的默认电子邮件应用程序是什么。理想情况下,它会返回到程序的路径,如/Applications/Mail.app
或/Applications/Outlook.app
。AppleScript可以确定默认邮件应用程序吗?
我想知道是否有方法使用AppleScript来确定当前的默认电子邮件应用程序是什么。理想情况下,它会返回到程序的路径,如/Applications/Mail.app
或/Applications/Outlook.app
。AppleScript可以确定默认邮件应用程序吗?
您可以从启动服务首选项文件中识别默认电子邮件客户端。
在El Capitan文件位于~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
。在10.11之前的系统版本中,该文件可能直接位于“首选项”文件夹中。
set bundleIdentifier to missing value
set LSPrefFilePath to (path to preferences folder as text) & "com.apple.LaunchServices:com.apple.launchservices.secure.plist"
tell application "System Events"
set LSPrefFile to property list file LSPrefFilePath
tell property list item 1 of contents of LSPrefFile
repeat with anItem in (get property list items)
if exists property list item "LSHandlerURLScheme" of anItem then
if value of property list item "LSHandlerURLScheme" of anItem is "mailto" then
set bundleIdentifier to value of property list item "LSHandlerRoleAll" of anItem
exit repeat
end if
end if
end repeat
end tell
end tell
if bundleIdentifier is missing value then
set defaultMailClient to "/Applications/Mail.app"
else
tell application "Finder" to set defaultMailClient to POSIX path of (application file id bundleIdentifier as text)
end if