怎样消除NMPOP3接收邮件的中文乱码(40分)

  • 主题发起人 主题发起人 springm
  • 开始时间 开始时间
S

springm

Unregistered / Unconfirmed
GUEST, unregistred user!
我用outlook发邮件,标题中文,body中文,附件文件名中文。在
NMPop3接收下都是乱码,还在body中加入一大段乱七八糟的英文符号。
用Foxmail发在附件下显示正确,其他地方都是乱码,
请问怎样消除?
 
用outlook收到乱码进行内码转化就可以了。nmpop3没用过,应该也差不多吧。
 
拜托,我用的是控件开发程序.
 
用ics控件好象比较好。
另外中文用gb2312比 hz 编码好
 
强烈推荐sakemail
虾在地址: http://sunhy.126.com
 
Stop!Stop!
大家不要走的太远!
To springm:
你先看看你OUTLOOK的“语言”选中文GB2312看看!
或发送新邮件时看看“编码”-设中文GB2312
我想八成是设置错了!
 
outlook我选的是GB2312,E-mail用outlook收也没事,
但用NMPOP3.mailmessage.body,NMPOP3.mailmessage.attachedfile.text
NMPOP3.mailmessage.head 收的是乱码.
 
我也遇到类似的问题不过我用的是NMSMTP,无法正常显示中文可能压根就是控件不支持中文我看了邮件源码编码方式是iso什么,同样POP必定不支持。
 
NMSMTP要想正确显示中文,你只要在charset中设置GB2312则可。
不过今年7月全国统一编码GB18301,据说可以显示少数民族文字。
 
你用的是那个版本?
 
procedure TForm1.recieveClick(Sender: TObject);//收信
begin
try
nmpop31.getmailmessage(listbox1.itemindex+1);
except
showmessage('无法收信');
end;
Edit8.Text := NMPOP31.MailMessage.From;
Edit5.Text := NMPOP31.MailMessage.Subject;
Edit9.Text := Copy(NMPOP31.MailMessage.MessageID,2,4)+'/'+Copy(NMPOP31.MailMessage.MessageID,6,2)+'/'+Copy(NMPOP31.MailMessage.MessageID,8,2);
Memo1.Lines.Assign(NMPOP31.MailMessage.Body);
If NMPOP31.MailMessage.Attachments.Text <> '' then
begin
ShowMessage('附件:'+#10#13+NMPOP31.MailMessage.Attachments.Text);
FileListBox1.Update;
end;
end;
这是我用delphi5.0做的,接受中文没有乱码呀?一切都很正常,用outlook也没问题
 
全部一派胡言,我的收邮件程序也出现这种问题。用DELPHI做的邮件程序接受用OUTLOOK 发送的中文邮件确实有这个问题。同时我也使用了SAKEMAIL控件,同样出现这种问题,即使编译SAKEMAIL字带的邮件程序也同样有此问题。

建议:如果有哪位高手能通过SOCKET的变成方式,直接利用POP3协议接受邮件可能不会出现这种问题。

哪位高手制作一个这样的控件呢? 如有,请MAIL给我一分。 gongtao_aben@netease.com
 
是不是还需要自己编写解码程序
 
szaben说得没错!用SakeEmail时,接受Foxmail发出的邮件就会出现乱码的!
 
To springm:
有解决方法或思路的话,请及时通知我!谢谢!
 
应该不会,foxmail对正文采用 Quoted-Printable编码,对附件采用base64编码,这两种
编码方式sakMail都是支持的,sakMail不支持HZ解码。所以这部分要自己添加进去。

心驿:你说foxmail的邮件sakmail接收会出现乱码,请把这个邮件发给我如何,我包你能够有一个满意的答复。

 
多人接受答案了。
 
我有另外一个问题如何判断 客户端有没有受到信,且客户端已经受到过了
也9是说 !收到的信不用在收了 用 NMPOP3 了!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部