您的位置:程序门 -> delphi -> 网络通信/分布式开发



请教: indy发邮件的难题,乱码!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教: indy发邮件的难题,乱码!!
发表于:2008-01-17 00:49:26 楼主

我在做邮件客户端。用indy控件做的。使用webbrowser作为编辑器编辑邮件正文,然后发送。但去网页上收看时,却发现所发的邮件内容要么是乱码,要么就是把html代码显示出来了。

如:

我在webbrowser中输入一句话作为正文:   this   is   a   test   mail.

发送时的代码为:
        with   msg   do
        begin
            body.clear;
            body.add((webbrowser1.document   as   ihtmldocument2).body.outerhtml)   ;
            from.text   :=   mailaccount.emailaddress;
            replyto.emailaddresses   :=   mailaccount.emailaddress;
            recipients.emailaddresses   :=   edtrecipients.text;   {   to:   header   }
            subject   :=   edtsubject.text;   {   subject:   header   }
            priority   :=   tidmessagepriority(cbbpriority.itemindex);   {   message   priority   }
            cclist.emailaddresses   :=   edtcc.text;   {cc}
            receiptrecipient.text   :=   '';
        end;
        .....
        with   smtp   do
        begin
            connect;
            send(idmsgsend);
            disconnect;
        end;
        .....


但是发送成功后,去网页收到的却是不正常的。收到的结果为:

<body> this   is   a   test   mail. </body>

怎么看上去像是浏览器直接把邮件下文的html代码显出来了?


有哪位高手赐教一下,,不胜感激。


发表于:2008-01-18 16:48:021楼 得分:0
帮顶
发表于:2008-01-22 23:37:182楼 得分:0
须指定bound父级,及bound的loca..等等属性

这机没装indy   10,记不住那么多属性

看看idmessage.pas,idclientmessage.pas的文件开头的几句说明,e文的,看懂了你就知道怎么发邮件了
最好安装一个winmail和foxmail以方便查看邮件的原始信息
发表于:2008-01-22 23:40:213楼 得分:0
上面说错了,是idmessage的messagepart,part有二种:idtext和附件用的id...file(这个记不大清楚了)

html邮件正文部分有三层part


快速检索

最新资讯
热门点击