Sorununuz önceden tanımlanmış ve çözülmüş bir bug, linki burada:

http://bugs.php.net/bug.php?id=15841

Umarım işinizi görür, iyi çalışmalar


Merter BOZKUŞ



Doğan Tankişi yazmış:
Bizim türkçe karakter ile ilgili bir sorunumuz yok, aynı formu exim ile çalışan bir sunucuya attıgımız zaman outlook'a gelen mail html olarak gözüküyor, kendi sunucumuzda qmail kullanıyoruz, kendi sunucumuzda olan iletisim form'larından gelen mailler outlook'a text olarak düşüyor.

2009/10/22 Hasan Sertçelik <[email protected] <mailto:[email protected]>>

    Doğan Tankişi yazmış:
    Merhabalar,
    qmail mail sunucu kullanıyorum çok ilginc bir sorunla
    karşılaşıyorum çözüme bir türlü kavuşamadım. sunucudaki web
    sitelerindeki iletişim formlarından gönderilen mailler outlook
    express tarafından düzgün görüntülenmiyor. php kodlarla alakası
    oldugunu düşündüm ve kodlardaki Content-Type ile oynama yaptım
    yine bir sonuca ulaşamadım. kodları farklı bir sunucuya attıgım
    zaman herhangi bir sorun yok düzgün olarak okunuyor outlook'ta
    tabi farklı sunucudaki mail sunucusu farklı ben qmail
    kullanıyorum. bununla ilgili bir çözüm varmıdır?
-- Mobile : 0 533 666 49 49
    Merhabalar.
    Uzunca bir süre süre önce php ile gönderdiğim maillerdeki
    Subjecteki türkçe karakter  hatalarını görüp çözüm aramıştım.
    Phpmailer ile gönderilenlerde bu sorunun olmadığını görüp
    inceleyip subjectte benzer bir çözüm uyguladığımda çözülmüştü.
    Koddan  bir bölüm aşağıda.

    function _encode($input , $tip ='q') {
//\304\260\305\237 ba\305\237 :.
        //subject encoder formulü
        //=?utf-8?Q?=C2=A1Hola,_se=C3=B1or!?=
        //$mclass=new mailEnCoder();
        /*
        =?utf-8?[encoded subject text]==?=
        =?utf-8?B?".base64_encode($subject)."?="
        B : base 64
        Q :qutat printable
        */
if(empty($input) ) return $input;

        if($tip=='q'){

                $ency=$this->_quotedPrintableEncode($input );
                if($ency==$input)     return  $input;

                $quotput="=?".$this->charset."?Q?".$ency."?=";
        }else{
                $ency=base64_encode($input);
                $quotput="=?".$this->charset."?B?".$ency."?=";
}

        return  $quotput;
    }


    function _quotedPrintableEncode($input , $line_max = 76)
        {
            $lines  = preg_split("/\r?\n/", $input);
            $eol    =rn;// MAIL_MIMEPART_CRLF;
            $escape = '=';
            $output = '';

            while(list(, $line) = each($lines)){

                $linlen     = strlen($line);
                $newline = '';

                for ($i = 0; $i < $linlen; $i++) {
                    $char = substr($line, $i, 1);
                    $dec  = ord($char);

if (($dec == 32) AND ($i == ($linlen - 1))){ // convert space at eol only
                        $char = '=20';

                    } elseif($dec == 9) {
                        ; // Do nothing if a tab.
                    } elseif(($dec == 61) OR ($dec < 32 ) OR ($dec >
    126)) {
                        $char = $escape . strtoupper(sprintf('%02s',
    dechex($dec)));
                    }

                    if ((strlen($newline) + strlen($char)) >=
$line_max) { // MAIL_MIMEPART_CRLF is not counted
                        $output  .= $newline . $escape .
$eol; // soft line break; " =\r\n" is okay
                        $newline  = '';
                    }
                    $newline .= $char;
                } // end of for
                $output .= $newline . $eol;
            }
            $output = substr($output, 0, -1 * strlen($eol)); // Don't
    want last crlf
            return $output;
        }


    ------------------------------------------------------------------------
    _______________________________________________ Linux-sunucu
    E-Posta Listesi [email protected]
    <mailto:[email protected]> Liste kurallarını
    http://liste.linux.org.tr/kurallar.php bağlantısından
    okuyabilirsiniz; Bu Listede neden bulunduğunuzu bilmiyorsanız
    veya artık bu listeden gelen e-postaları almak istemiyorsanız
    aşağıdaki bağlantı adresini kullanarak 1 dakika içinde
    üyeliğinizi sonlandırabilirsiniz.
    http://liste.linux.org.tr/mailman/listinfo/linux-sunucu


    _______________________________________________
    Linux-sunucu E-Posta Listesi
    [email protected]
    <mailto:[email protected]>

    Liste kurallarını http://liste.linux.org.tr/kurallar.php
     bağlantısından okuyabilirsiniz;

    Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu
    listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı
    adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz.
    http://liste.linux.org.tr/mailman/listinfo/linux-sunucu




--
Mobile : 0 533 666 49 49
------------------------------------------------------------------------

_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu

_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap