Being your Mac’s default e-mail reader, Mail is likely the program you use to read messages on your various internet accounts (Google, Yahoo, iCloud, among other). However, for some who use Mail, after upgrading OS X you might find a problem where the text cursor behaves sporadically, and will move backward a few characters every now and then as you enter text, interrupting your ability to type continuously. In addition, you might see garbled output, either as you type or as you read messages sent to you.
If this problem happens to you, then you might be experiencing an issue with custom text encoding settings for Mail, where the program is holding onto an old setting for changing the text encoding in prior versions of Mail, and wrongly applying it to the latest version that you are using.
To fix this problem, you will need to remove the encoding settings from Mail’s preferences. While in most cases removing the preferences file itself and then having the program rebuild it from scratch is the easiest approach for fixing such problems, in Mail there are a number of customizations and account information that will be lost if you do this, so first attempt to fix the problem by running the following command in the Terminal utility:
defaults delete com.apple.mail NSPreferredMailCharset
Alternatively, you can run the following command to have this setting be the default “UTF-8” encoding:
defaults write com.apple.mail NSPreferredMailCharset -string "UTF-8"
With this done, quit and re-launch Mail, and hopefully the problem will be gone. If not, then you might need to remove your Mail’s preferences file to address this issue. The file is called “com.apple.mail.plist” and is located in the username > Library > Containers > com.apple.mail > Data > Library > Preferences folder. Move this file to your Desktop (to retain a copy of it so you can restore it if needed), followed by re-launching Mail. You will have to reconfigure your mail accounts, smart mailboxes, and program organization and settings after doing this, but hopefully it will fix the issue. If not, you can restore the file on your Desktop and then be back up and running in Mail.
Yosemite 10.10.1
% defaults delete com.apple.mail NSPreferredMailCharset
2014-12-15 14:11:33.966 defaults[19289:1647589]
Domain (com.apple.mail) not found.
Defaults have not been changed.
Odd that the domain cannot be found.
I got the “Domain(com.apple.mail) not found.” error as well.
Went ahead and deleted the com.apple.mail.plist file and everything in Mail seems more responsive. From the little typing I’ve done to test it, the problem seems to be fix.
Thanks for the tip.
Where do you delete this?
Mail defaults to charsets other than utf-8 when the OS is running in certain other languages, e.g gb2312 when in S. Chinese, and I think versions before Yosemite often use iso-8859-1 and win-1252 for Latin text depending on the character content.
For cursor problems in Mail that involve punctuation marks, the fixes are connected to the spellcheck system, as described at https://discussions.apple.com/message/27376178#27376178
My cursor in Mail after upgrading to Yosemite is always 6-9 characters ahead. Very frustrating. I don’t know if it’s just a punctuation issue. As a low end Mac techie, I am very leary about doing anything in Terminal. What EXACTLY do I do in there to try to solve my issue? Your help would be greatly appreciated. Thanks!
HI, I had the same problem. All i did was change the font used in mail and now the problem seems to have disappeared. Hope this helps because it was incredibly frustrating.
I’ve had the same problem with my keyboard in Apple mail since upgrading to El Capitan a few weeks ago. I am a typesetter so I love fonts and I did change the default mail fonts.
I just now changed them to a standard font and quit and reopened mail and it’s working fine now in terms of keyboard cursor placement.
Fingers crossed…
I was having the same problem in Mail using MacOS 10.11.2 El Capitan when I was using old email signatures set up in an earlier Mac OS. The cursor would insert at the wrong location. Rather than entering Terminal and editing the preferences there, I did what an earlier user tried – namely, going through all my email signatures and changing them to a different font style and changing the “default Message Font” under Mail’s “Fonts and Colors” preferences to the same font. I used Lucida Sans. It worked and saved me from a lot of frustration counting text characters!
Thank you. Great fix.
Yes, Changing to a different font fixed it for me to. I changed it to Arial Unicode and all is now well. Thank you!