因为网站是支持多种语言的,所以我的编码选用了UTF-8;但是在我用JMAIL发送的时候却出现了乱码。参照网上的一些文章对代码进行了修改,其他的都还OK,就是标题后面附带了一长串字符,就像这样子
留言测试X-CM-TRANSID: C8CowLCr1IDQxNBJKnvfMg--.29078S2请大家看看是不是我的代码那里出错了:        $jmail = new COM('JMail.Message') or die('无法调用Jmail组件');
$jmail->silent = true;
$jmail->charset = 'utf-8';
$jmail->contentType = 'text/html';
$jmail->ContentTransferEncoding = 'utf-8';
$jmail->Encoding = 'utf-8';
$jmail->ISOEncodeHeaders = false;

解决方案 »

  1.   

    你的邮件打开的时候的字符集是UTF-8吗?
      

  2.   

    页面上加一句
    @header("content-Type: text/html; charset=utf-8");
    再加个meta
    <meta http-equiv="content-type" content="html/text; charset=utf-8" />
      

  3.   

    试一下1、2楼的,如不行,可能是base64编码了,楼主指定一下Content-Encoding,为base64的试一下。
      

  4.   

    楼上几位的方法我都试了,还是问题多多。自己整理了一下思路,又重新试了起来。因为楼上流传的那些方法大多是用gb2312发送中文邮件的,所以我就先把php文件编码设成gb2312,然后php代码如下:<?php
    header("content-type:text/html; charset=gb2312");$jmail = new COM('JMail.Message') or die('无法调用Jmail组件');
    $jmail->silent = true;
    $jmail->charset = 'gb2312';
    $jmail->contentType = 'text/html';
    $jmail->From = '[email protected]';
    $jmail->FromName = '测试邮件';$jmail->Encoding = 'base64';
    $jmail->ContentTransferEncoding = 'base64';
    $jmail->ISOEncodeHeaders = true;$jmail->AddRecipient('[email protected]');
    $jmail->Subject = '标题abc标题abc';
    $jmail->Body = '正文english正文english'; 
    $jmail->MailServerUserName = '[email protected]';
    $jmail->MailServerPassword = 'password';try{
        $email = $jmail->Send('smtp.163.com');
        if($email) echo '发送成功';
        else echo '发送失败';
    } catch (Exception $e){
        echo $e->getMessage();
    }
    ?> 
    ======================== 问题一 ========================
    收到的邮件格式如下:
    标题:标题abc标题abc
    正文:正文english正文english n正文里面无缘无故多了一个n出来!把正文内容换成别的再试,后面还是会多出一些字符来。======================== 问题二 ========================
    我在代码里面明明已经将Encoding和ContentTransferEncoding设为base64了,可是用OUTLOOK查看邮件头信息的时候发现里面用的还是QP格式!
    ----------------------------------------------------
    Subject: =?gb2312?Q?=B1=EA=CC=E2abc=B1=EA=CC=E2abc=00t=00=00?=
    ----------------------------------------------------希望大家帮帮忙,谢谢!
      

  5.   

    我还以为在说ASP呢,php用COM不爽,不能垮平台了