Shell-Script
如何在郵件主題行使用表情符號?
我正在編寫一個 shell 腳本來設置一些伺服器,一旦完成,它將向我們的服務台發送一封電子郵件,讓我們知道伺服器已準備好使用。
我想使用以下主題行:
New Space Loop Activated! 🎉
但我一生無法弄清楚如何接受那個表情符號。我可以在電子郵件正文上使用表情符號,但它不適用於主題。
# # Send an email to let us know that the server is ready to be used. # Credentials will be sent to Vault instead of being stored on the server # once the Vault server has been properly configured. # # @since 0.0.1 # mail -s 'New Space Loop Activated!' \ -a 'From:Kerb!am Man<kerblam@domain.tld>' help@domain.tld << END_MAIL Delivery for The Humans, Your new space loop ($HOSTNAME) has been configured $(printf '\xf0\x9f\x8e\x89') and credentials are available at /home/gatekeeper/. Please remove them from the server once they have been placed in a secure location. Delivery fulfilled, Kerb!am Man $(printf '\xf0\x9f\xa4\x96\n') And remember: if you want it, Kerblam it! END_MAIL
我嘗試了一些想法:
- 嘗試使用encoded-character,但它似乎不適用於 shell 腳本——或者我太愚蠢了,無法弄清楚
- 嘗試使用 unicode 和 utf-8
- 嘗試使用
printf
和echo
但似乎沒有任何效果。甚至支持嗎?我正在使用
postfix
andmailutils
,使用Postmark作為 SMTP 中繼。
UTF-8 中的字元
🎉
是:f0 9f 8e 89
因此,您需要在主題行中使用此字元串:
=?utf-8?Q?=F0=9F=8E=89?=
或整個主題:
New Space Loop Activated! =?utf-8?Q?=F0=9F=8E=89?=
序列表示字元集是
utf-8
,Q
表示可引用的可列印編碼。您還可以使用 BASE64 編碼來節省幾個字節。