Sendmail/procmail - 获取邮件发件人和邮件主题,utf8 编码问题 [英] Sendmail/procmail - get mail sender and mail subject, utf8 encoding issues

查看:38
本文介绍了Sendmail/procmail - 获取邮件发件人和邮件主题,utf8 编码问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 .procmailrc(真的很简单):

My .procmailrc (really simple):

:0c
| $HOME/send_sms.sh "`formail -xFrom:`" "`formail -xSubject:`"

因此,名为mail@domain.com"的发件人发送主题为Subject test ąść"的邮件.脚本send_sms.sh"接收:

So, sender named "mail@domain.com" sends message with subject "Subject test ąść". The script "send_sms.sh" receives:

发件人:=?UTF-8?Q?mail@domain.com?= <mail@domain.com>

主题:=?UTF-8?Q?Subject_test_=C4=85=C5=9B=C4=87?=

我应该如何修改我的 .procmailrc 以获得明文?或者在我的脚本 send_sms.sh 中转换它?

How should I modify my .procmailrc to get clear text? Or convert this in my script send_sms.sh ?

推荐答案

http://metacpan.org/pod/Email::MIME::RFC2047::Decoder 在 Perl 中有一个简单的 RFC2047 解码器.您也许应该只解码您可以支持的字符集中的字符串,但您的所有示例都是 UTF-8,所以如果您的脚本支持在 SMS 中发送 UTF-8,那么您应该没问题.对于其他字符集,也许您可​​以在发送前在单独的步骤中转换为 UTF-8.

http://metacpan.org/pod/Email::MIME::RFC2047::Decoder has a simple RFC2047 decoder in Perl. You should perhaps only decode strings which are in a character set you can support, but all your examples are in UTF-8, so if your script supports sending UTF-8 in SMS, you should be fine. For other character sets, perhaps you can convert into UTF-8 in a separate step before sending.

这篇关于Sendmail/procmail - 获取邮件发件人和邮件主题,utf8 编码问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆