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] <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