Nasıl için "Name <[email protected]>
" biçimindeki bir e-posta gönderebilir alıcıların adı özel karakterler kullanmak: Açıkçasınasıl
ŠŒŽœžŸ¥µÀÁÃÄÅÆÇÉÊËÍÎÏÐÒÓÕÖØÙÜÝßàáâåæçèéëìíîïðñóôõöøùûýÿ <[email protected]>
, bu karakterlerin çoğu bir isim görünür asla ama yaptıklarında, bir e-postanın başarıyla gönderilmesini engellemelerini tercih ederim. '¥ μÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ ' İşlem iptal alıcı adresine:
'Kime': geçersiz yok sayılması ile Apache error.log belirtildiği gibi
Şu anda, bu başarısız hiçbir alıcıları Mümkünse
belirtilen Özel karakterleri oldukları gibi tutmak istiyorum. Aksi takdirde, adı temizlemek için bir çeşit transliterasyon işlevi kullanabilir miyim? kullanım
Örnek: başlığını Mime-Version: 1.0
belirlesin daha iyi uyumluluk için
mb_internal_encoding('UTF-8');
$name = '山本';
$email = '[email protected]';
$addr = mb_encode_mimeheader($name, 'UTF-8', 'Q') . " <$email>";
nedenle tüm posta istemcileri anlamak':
<?php
$to = "ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ <[email protected]>";
$subject = "Test Subject";
$body = "Test Body";
if (mail($to, $subject, $body)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
?>
Ayrıca bu davranışı tanımlayan RFC2048'e bir işaretçi de ekleyebilirsiniz. E-postayı işlemek istiyorsanız MIME gereklidir. – tripleee
Teşekkür ederim, bu mükemmel çalışıyor. @tripleee RFC referansı için teşekkür ederiz. Bunun bir e-postanın tüm bölümlerine uygulandığını fark etmedim. – Citricguy
Özel charaters ** ve ** alanlarını da kodlamak mümkün mü? (http://stackoverflow.com/questions/11963712/how-to-correctly-encode-strings-for-usage-in-mail-headers-in-php) Maalesef bu durumda mb_encode_mimeheader' yardımcı olmaz. –