免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: zhouyj1982
打印 上一主题 下一主题

用net::pop3写邮件客户端,取得的邮件主题等显示乱码? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-06-15 14:49 |只看该作者

用net::pop3写邮件客户端,取得的邮件主题等显示乱码?

要求MIME::Base64
#!/usr/local/bin/perl -w
use Encode;
my   $DECODE_FUNCS={
           b=>;['Base64','base64'],
           q=>;['QuotedPrint','qp']
        };
sub decode_subject
{
    my ($charset,$enc,$subj)=(shift()=~/\=\?(.*)\?(.)\?(.*)\?\=$/);
        $enc=lc($enc);
        #eval {
           require encoding;
           encoding->;import ($charset);

       my $mod='MIME::'.$DECODE_FUNCS->;{$enc}->;[0];
           eval "
           require $mod;          
           $mod->;import;
           " ;

           print decode($charset,&{'decode_'.$DECODE_FUNCS->;{$enc}->;[1]}($subj)),"\n";
        }
}
&decode_subject(q(=?gb2312?B?s8/R+8T6ss68086iyO0gTVNETiBXZWJjYXN0cyDW0M7EzfjC57njsqU21MIxyNW/zrPM?=));

输出 "诚邀您参加微软 MSDN Webcasts 中文网络广播6月1日课程"

论坛徽章:
0
12 [报告]
发表于 2005-06-15 20:15 |只看该作者

用net::pop3写邮件客户端,取得的邮件主题等显示乱码?

谢谢!用了MIME::Head解码解决问题了。

邮件正文获得后,解码又成问题,而且乱的和前面不一样了:
--Boundary-=_NFsFklIDhZyjIwDDhHWTIuxhimlr
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

suLK1KOhxOO6w6OhsuLK1KOhxOO6w6OhsuLK1KOhxOO6w6OhsuLK1KOhxOO6w6OhsuLK1KOh
xOO6w6Oh
--Boundary-=_NFsFklIDhZyjIwDDhHWTIuxhimlr
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: base64

suLK1KOhxOO6w6OhsuLK1KOhxOO6w6OhsuLK1KOhxOO6w6OhsuLK1KOhxOO6w6OhsuLK1KOh
xOO6w6OhPGJyPjwhLS0gZm9vdGVyIC0tPjxicj48YnI+PGJyPg0KPGZvbnQgc3R5bGU9ImZv
bnQtc2l6ZToxNC44cHgiPg0KPCEtLbnjuOZmb290ZXIgv6rKvC0tPg0KPCEtLbnjuOZmb290
ZXIgveHK+C0tPg0KDQo8IS0txNqyv2Zvb3Rlcr+qyrwtLT4NCjxicj4NCjxicj48cCBzdHls
ZT0ibGluZS1oZWlnaHQ6MjUwJTsiPg0KJm5ic3A7Jm5ic3A7PGEgaHJlZj0iaHR0cDovL3d3
dy4xODguY29tL2luZGV4Lmh0bT9mcm9tPWZvb3Rlcl9vdGhlci5jb20iIHRhcmdldD0iX2Js
YW5rIj4NCjxmb250IGNvbG9yPWJsdWU+IMqyw7TTys/kv8nS1NeisuGzpLbIPGZvbnQgY29s
b3I9cmVkPjPOuzwvZm9udD7Tw7unw/ujrLrDvMfT1rrD08OjvzwvZm9udD4NCjwvYT4NCjxp
bWcgc3JjPSJodHRwOi8vbWFpbC4xMjYuY29tL2Zhdmljb24uaWNvIiB3aWR0aD0xNiBoZWln
aHQ9MTYgYm9yZGVyPTAgYWxpZ249YWJzbWlkZGxlPg0KPC9wPg0KPCEtLcTasr9mb290ZXK9
4cr4LS0+DQo8L2ZvbnQ+
--Boundary-=_NFsFklIDhZyjIwDDhHWTIuxhimlr--

有没有什么办法可以解决啊?

论坛徽章:
0
13 [报告]
发表于 2005-06-16 12:43 |只看该作者

用net::pop3写邮件客户端,取得的邮件主题等显示乱码?

hoow:

中文附件的问题解决了吗?

论坛徽章:
0
14 [报告]
发表于 2005-06-20 19:39 |只看该作者

用net::pop3写邮件客户端,取得的邮件主题等显示乱码?

用Mail:OP3Client连接邮件服务器,
$pop = new Mail:OP3Client(USER=>;"$user",PASSWORD=>;"$pwd",HOST=>;"$host";
$pop是否能作为参数传递?
我试了之后,报错,不知道有什么办法可以传递?

论坛徽章:
0
15 [报告]
发表于 2005-07-14 20:05 |只看该作者

用net::pop3写邮件客户端,取得的邮件主题等显示乱码?

hoowa:
中文附件的问题怎么样了?
y6cmE:
有没有完整的处理附件,正文等乱码的问题?

论坛徽章:
0
16 [报告]
发表于 2005-07-15 09:34 |只看该作者

用net::pop3写邮件客户端,取得的邮件主题等显示乱码?

是特殊格式的邮件不能正常解析还是几乎都不能正常解析??

perl的几个MIME module都是较早出的,和以前的javamail3版本一样,都存在特定格式解除有问题的情况

自己分析格式自己解析要更可控一些,免得以后出现解析异常排错很难

论坛徽章:
0
17 [报告]
发表于 2005-07-15 09:42 |只看该作者

用net::pop3写邮件客户端,取得的邮件主题等显示乱码?

原帖由 "雨中漫步" 发表:
hoow:

中文附件的问题解决了吗?



hi,雨中漫步, 你签名的两个网站都变成taobao了???

论坛徽章:
3
2015亚冠之阿尔希拉尔
日期:2015-08-15 16:33:2215-16赛季CBA联赛之四川
日期:2016-01-03 13:37:0515-16赛季CBA联赛之四川
日期:2016-06-13 15:53:36
18 [报告]
发表于 2015-07-07 09:43 |只看该作者
jazzrabbit 发表于 2005-06-15 14:49
要求MIME::Base64
#!/usr/local/bin/perl -w
use Encode;


perl 语句一句搞定:
  1. use MIME::Base64;
  2. use MIME::QuotedPrint;

  3. $from =~s/\=\?(GBK|gb2312|gb18030|UTF\-8)\?(Q|B)\?(.*?)\?\=/($b = lc $1,$d = lc $2,$a=($d eq 'b')?&decode_base64($3):&decode_qp($3),$c = ($b eq 'utf-8')?&encode("gbk",  &decode("utf8", $a)):$a,$c)/ige;
复制代码

论坛徽章:
0
19 [报告]
发表于 2015-07-22 09:51 |只看该作者
正规邮件都需要编解码的。我写过一篇帖子,用perl发送中文邮件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP