For years now, I’ve been iterating on an AppleScript to copy a link for the currently selected Apple Mail message to the clipboard. You can then paste the link elsewhere and get a link back to the source message.
This came up during a recent webinar on the Apple Productivity Field Guide. Since the last time I published this script, I’ve added a few new features:
- Error handling plus a “Basso” sound upon error
- Cleaner message description in the alert
- A slight change to the way the link is created to help avoid link issues.
Enjoy!
tell application "Mail"
try
set selMessages to selection
if (count selMessages) > 0 then
-- Handle multiple message selection
set msgCount to count selMessages
if msgCount > 1 then
display notification (msgCount as rich text) & " messages selected. Using first message." with title "Mail Link" sound name "Pop"
end if
set thisMsg to item 1 of selMessages
set thisMsgID to message id of thisMsg
set thisMsgURL to "message://%3C" & thisMsgID & "%3E"
set the clipboard to thisMsgURL
-- Truncate sender and subject for cleaner notifications
set senderText to sender of thisMsg
if length of senderText > 30 then
set senderText to (rich text 1 thru 30 of senderText) & "..."
end if
set subjectText to subject of thisMsg
if length of subjectText > 40 then
set subjectText to (rich text 1 thru 40 of subjectText) & "..."
end if
display notification "From: " & senderText & " - " & subjectText with title "Message Link Copied" sound name "Pop"
else
display notification "Please select a message first." with title "No Message Selected" sound name "Basso"
end if
on error errMsg
display notification errMsg with title "Error Copying Link" sound name "Basso"
end try
end tell





