Is your code incorrect. Yes. Email is being displayed via a different web server, different HTTP_REFERER. So just remove the hotlink protection all together.
If you’re using hotlinked images in your e-mail, copy them to a folder dedicated to your e-mail and add an exclusion for this folder to your .htaccess in the DocumentRoot.
Most people will not see linked images in emails anyway - if you really want people to see them you should embed the image directly in the email so that the email doesn’t have to access the web to retrieve the image.
Yes - images linked like that will be blocked so that recipients will not see them without their taking additional steps to specifically allow the image to display.
You need the full path to link to images from emails. You also then need your visitor to click the link in their email program while viewing your email to allow those links to be followed to display the images.
To avoid confirming your email address to spammers by allowing it to be logged when your email program downloads their linked 1x1 pixel transparent image people should only ever allow linked images to be displayed when they are 200% certain of where the email came from.
Embedded images are contained in the email itself and so do not rely on access to a web site in order for them to display.