Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.6: Re-Enable GrowlMail in Mail 4.4 System 10.6
Snow Leopard only hintIt seems like, with every new version of 10.6.x, GrowlMail gets disabled by Mail.app. Sure enough, this has happened again with 10.6.5 and Mail 4.4.

Rather than wait until someone posts a patch to get it working again, I figured I'd find out what needs to be done, and how to do it.

Thanks to Paul Kehrer's previous posts, which have been summarized in this previous hint, it is possible to fix this using a slightly different process. This method should continue to work for future revisions as well, at least with Snow Leopard.

GrowlMail ceases to function because it has a list of supported versions of Mail.app and the Message framework. Since Apple updates these apps and the version numbers change, GrowMail thinks it is no longer compatible.

BTW, whether it actually is compatible or not is not the topic here; this is just to allow it to run again -- whether it actually works is a different can of beans.

The first thing to do is to get the current UUID's for Mail.app and Message.framework by looking in their respective info.plist files:
defaults read /Applications/Mail.app/Contents/Info PluginCompatibilityUUID

defaults read /System/Library/Frameworks/Message.framework/Resources/Info PluginCompatibilityUUID
In the case of 10.6.5, they are, respectively:

BDD81F4D-6881-4A8D-94A7-E67410089EEB

857A142A-AB81-4D99-BECC-D1B55A86D94E

Then, you need to add them to the info.plist file inside the 'GrowlMail.mailbundle' bundle. Depending on where you installed it, this bundle will be found either in: ~/Library/Mail/Bundles/ or/Library/Mail/Bundles/.

For some reason, every time I used defaults write with the -array-add option, it messed up my info.plist file, so I did it using BBEdit. If you don't have BBEdit, TextWrangler is its little sibling, and it's free. Otherwise, you can just use TextEdit. [crarko adds: For some reason, when you edit the plist by hand this way it works.]

Locate the key called SupportedPluginCompatibilityUUIDs and add the two strings to it. The end result should look like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleDevelopmentRegion</key>
  <string>English</string>
  <key>CFBundleExecutable</key>
  <string>GrowlMail</string>
  <key>CFBundleIconFile</key>
  <string>GrowlMail.icns</string>
  <key>CFBundleIdentifier</key>
  <string>com.growl.GrowlMail</string>
  <key>CFBundleInfoDictionaryVersion</key>
  <string>6.0</string>
  <key>CFBundlePackageType</key>
  <string>BNDL</string>
  <key>CFBundleShortVersionString</key>
  <string>1.2.1</string>
  <key>CFBundleSignature</key>
  <string>emal</string>
  <key>CFBundleVersion</key>
  <string>1.2.1</string>
  <key>NSPrincipalClass</key>
  <string>GrowlMail</string>
  <key>SupportedPluginCompatibilityUUIDs</key>
  <array>
    <string>B3F3FC72-315D-4323-BE85-7AB76090224D</string>
    <string>225E0A48-2CDB-44A6-8D99-A9BB8AF6BA04</string>
    <string>99BB3782-6C16-4C6F-B910-25ED1C1CB38B</string>
    <string>2610F061-32C6-4C6B-B90A-7A3102F9B9C8</string>
    <string>2F0CF6F9-35BA-4812-9CB2-155C0FDB9B0F</string>
    <string>0CB5F2A0-A173-4809-86E3-9317261F1745</string>
    <string>B842F7D0-4D81-4DDF-A672-129CA5B32D57</string>
    <string>E71BD599-351A-42C5-9B63-EA5C47F7CE8E</string>
    <string>BDD81F4D-6881-4A8D-94A7-E67410089EEB</string>
    <string>857A142A-AB81-4D99-BECC-D1B55A86D94E</string>
  </array>
</dict>
</plist>


[crarko adds: I tested this, and it worked for me as described. GrowlMail 1.2.2 (the current version, updated last July) both loaded and provided alerts as expected. The key new step here was editing the .plist file by hand, the previous method of using
$ defaults write ~/Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info Suppor tedPluginCompatibilityUUIDs -array-add "the_new_number"
is not working correctly, for some mysterious reason.]
    •    
  • Currently 4.25 / 5
  You rated: 5 / 5 (8 votes cast)
 
[33,027 views]  

10.6: Re-Enable GrowlMail in Mail 4.4 | 20 comments | Create New Account
Click here to return to the '10.6: Re-Enable GrowlMail in Mail 4.4' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: AlanU on Nov 11, '10 08:01:58AM

This approach also works for the Letterbox plugin.



[ Reply to This | # ]
applescripting it
Authored by: tedw on Nov 11, '10 11:22:12AM
This applescript should add the UUIDs automatically, and should work for future updates as well. Just run it at need - it will only update the growlMail info.plist file if the UUIDs are missing. Notes:
  • Run this from the AppleScript Editor (in Application/Utilities)
  • I've tested this pretty thoroughly, but haven't actually run it live since I haven't done the update yet.
  • If you modify the script Be Careful! Do not use a 'set' command with the mailPlist or frameworkPlist object variables. System Events updates plist files in real time, so executing the line (say) 'set mailPlist to {}' might zero-out the Mail.app info.plist file. And no, you don't want to do that.
tell application "System Events"
	-- recover uuids from Mail and framework info.plists
	set mailPlist to property list file "/Applications/Mail.app/Contents/Info.plist"
	set frameworkPlist to property list file "/System/Library/Frameworks/Message.framework/Resources/Info.plist"
	tell mailPlist
		set mailCompatUUID to the value of property list item "PluginCompatibilityUUID"
	end tell
	tell frameworkPlist
		set frameworkCompatUUID to the value of property list item "PluginCompatibilityUUID"
	end tell
	
	-- add to growlMail info,plist
	set growlmailPluginPaths to {"~/Library/Mail/Bundles/", "/Library/Mail/Bundles/", 
		"~/Library/Mail/Bundles (Disabled)/", "/Library/Mail/Bundles (Disabled)/"}
	repeat with thisPath in growlmailPluginPaths
		-- run through possible locations looking for the growlMail bundle
		if exists disk item (thisPath & "GrowlMail.mailbundle") then
			set growlmailPlist to 
				property list file (thisPath & "GrowlMail.mailbundle/Contents/Info.plist")
			tell growlmailPlist
				tell property list item "SupportedPluginCompatibilityUUIDs"
					-- check to see if uids exist, and add them if they don't
					set uuidList to its value
					if uuidList does not contain mailCompatUUID then
						make new property list item at end of property list items 
							with properties {value:mailCompatUUID}
					end if
					if uuidList does not contain frameworkCompatUUID then
						make new property list item at end of property list items 
							with properties {value:frameworkCompatUUID}
					end if
				end tell
			end tell
			
			-- try to move bundle into bundles folder if it's in disabled folder
			if thisPath contains "(Disabled)" then
				set enabledPath to path of disk item (text 1 thru -13 of thisPath)
				try
					move disk item (thisPath & "GrowlMail.mailbundle") to alias enabledPath
				on error
					--something (possibly permissions) went wrong
					say "Move failed"
					set theFolderPath to path of disk item thisPath
					tell application "Finder"
						activate
						open folder theFolderPath
					end tell
				end try
			end if
			exit repeat
		end if
	end repeat
end tell


[ Reply to This | # ]
applescripting it
Authored by: Quatch on Nov 11, '10 12:42:44PM

Ran it, restarted mail. Did not get a complaint. Tested an email, and it works.

Many thanks.



[ Reply to This | # ]
applescripting it
Authored by: everkleer80 on Nov 12, '10 04:34:22PM

Thanks for the script- Worked great! Only problem I had was that for some reasone my growlmail bundle got moved to a folder called "Bundles (Disabled 1)". I deleted the empty "Bundles (Disabled)" folder though and renamed the Disabled 1 folder and everything worked.



[ Reply to This | # ]
applescripting it
Authored by: khoriati on Nov 16, '10 04:10:37AM

Same for me.

One *(Disabled #) folder for each installation try.

Moved the last and deleted others. Keys applied and ...everything is ok now.

Thanks a lot!



[ Reply to This | # ]
applescripting it
Authored by: tedw on Nov 16, '10 08:20:54AM

Interesting. Do you have the bundle installed in you home directory library or the computer library? I was worried about permissions issues when trying to move folders in the computer library (that's the reason behind the 'try' block). I'm wondering if that's what the script is running into.



[ Reply to This | # ]
applescripting it
Authored by: cparnot on Mar 15, '11 09:21:00AM

The script works great for Mail 4.4.1 on the new MBP as well.

Thanks for the script, it's forever on my hard-drive now!

---
charles



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: skyhawkmatthew on Nov 11, '10 11:50:58AM

Confirmed working for Mail.appetizer as well.

---
MacBook (Black) 2.0GHz, 3GB RAM, 320GB HDD, 10.5.6.



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: ipadmacbookpro on Nov 11, '10 12:06:22PM

In case someone is experiencing the same problem as I was, I found that you need to reinstall Growl if it has been disabled by Mail.



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: xplora on Nov 11, '10 12:49:57PM
crarko, the "mysterious reason", is a typo in the code a space in the key "Suppor tedPluginCompatibilityUUIDs" should read "SupportedPluginCompatibilityUUIDs", as below.

$ defaults write ~/Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add "the_new_number"

[ Reply to This | # ]

10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: crarko on Nov 11, '10 03:54:28PM

Hmm, thanks. I doubt that's why Peter and Rob experienced trouble with it, though.



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: agentx on Nov 12, '10 03:57:57AM

As such this works for other plugin too WideMail, PGP etc.



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: verdon on Nov 12, '10 06:51:30AM

also works with MsgFiler



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: TootingTiger on Nov 16, '10 02:16:27AM

I did this without any need for AppleScript or Command Line.

1. Quit Mail
2. Navigate to ~/Library/Mail/Bundles/GrowlMail.Bundle/Contents (if necessary, move GrowlMail.Bundle from 'Bundles (Disabled)'
3. Double-click info.plist
4. Click on SupportedPluginCompatibilityUUID to open up the list of existing UUIDs.
5. Click on any Item to create a new Item.
6. Paste in the first new UUID number (BDD81F4D-6881-4A8D-94A7-E67410089EEB).
7. Repeat for the second number (857A142A-AB81-4D99-BECC-D1B55A86D94E).
8. Save.
9. Open Mail; Growl works fine in OS 10.6.5.

David



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: TootingTiger on Nov 16, '10 08:46:04AM

I did this without any need for AppleScript or Command Line.

1. Quit Mail
2. Navigate to ~/Library/Mail/Bundles/GrowlMail.Bundle/Contents (if necessary, move GrowlMail.Bundle from 'Bundles (Disabled)'
3. Double-click info.plist
4. Click on SupportedPluginCompatibilityUUID to open up the list of existing UUIDs.
5. Click on any Item to create a new Item.
6. Paste in the first new UUID number (BDD81F4D-6881-4A8D-94A7-E67410089EEB).
7. Repeat for the second number (857A142A-AB81-4D99-BECC-D1B55A86D94E).
8. Save.
9. Open Mail; Growl works fine in OS 10.6.5.

David



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: petersconsult on Nov 17, '10 08:07:36AM

Part of the intent of this post was to show how find the proper UUIDs to add to the info.plist file so that the next time there is an update (which will most likely change Mail.app's UUIDs), it would be easy to figure out what to do...
But, i agree, i should've made it more clear that you could just paste the UUIDs provided...
Be Well!
Peter



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: shellscript on Nov 16, '10 12:28:18PM

tedw's applescript worked for me. modified slightly it also worked to enable widemail. many thanks tedw! OSX10.6.5/mail4.4



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: toreboy on Feb 06, '11 07:59:03AM

Hi, I had tried what you said in this Post but it is still not working for me, I have 10.6.6 is there any solution?



[ Reply to This | # ]
10.6: Re-Enable GrowlMail in Mail 4.4
Authored by: JayDee2U on Mar 10, '11 11:28:30AM

Use:

BDD81F4D-6881-4A8D-94A7-E67410089EEB
36555EB0-53A7-4B29-9B84-6C0C6BACFC23



[ Reply to This | # ]
Thank you!
Authored by: leamanc on Mar 21, '11 06:42:48PM

Just got around to trying this with the latest GrowlMail, Mail.app 4.4 and Snow Leopard 10.6.6. I am so happy to have GrowlMail back. Thanks for digging into this to find the solution. I really don't know why Apple insists on disabling the plugin, or the Growl folks can't keep the plugin's .plist updated in this way, but I'm thrilled to know we can do it for ourselves.

Pop-up notifications are pretty much a total necessity for a desktop mail client, so really Apple should just include this feature...or just buy Growl already. :-)



[ Reply to This | # ]