Created
October 1, 2015 14:06
-
-
Save toco/e51ae00e0473b23802e7 to your computer and use it in GitHub Desktop.
Apple Script to migrate old e-mail aliases (which where lost when upgrading to El Capitan) to Mail 9.0.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tell application "System Events" | |
set plistFile to property list file "~/Library/Mail/V2/MailData/Accounts.plist" | |
set plistRoot to contents of plistFile | |
tell plistRoot to set accountsPlist to value of property list item "MailAccounts" | |
end tell | |
tell application "Mail" | |
repeat with accPlist in accountsPlist | |
set accName to "" | |
try | |
set accName to get AccountName of accPlist | |
end try | |
repeat with acc in accounts | |
if accName = name of acc then | |
set plistAddresses to EmailAddresses of accPlist | |
set accAddresses to email addresses of acc | |
if (count of plistAddresses) ≤ 1 then | |
exit repeat | |
end if | |
set oldDelimiters to AppleScript's text item delimiters | |
set AppleScript's text item delimiters to ", " | |
set plistString to plistAddresses as string | |
set accString to accAddresses as string | |
set AppleScript's text item delimiters to oldDelimiters | |
if accString = plistString then | |
exit repeat | |
end if | |
set replaceReturn to display dialog "Replace | |
" & accString & " | |
with | |
" & plistString & " | |
?" buttons {"No", "Yes"} | |
if button returned of replaceReturn is "Yes" then | |
set email addresses of acc to plistAddresses as list | |
end if | |
exit repeat | |
end if | |
end repeat | |
end repeat | |
end tell |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment