मैं करने के लिए "Name <[email protected]>
" के रूप में स्वरूपित एक ई-मेल कैसे भेज सकते हैं:प्राप्तकर्ताओं नाम में विशेष वर्ण का उपयोग कैसे करें
ŠŒŽœžŸ¥µÀÁÃÄÅÆÇÉÊËÍÎÏÐÒÓÕÖØÙÜÝßàáâåæçèéëìíîïðñóôõöøùûýÿ <[email protected]>
जाहिर है, इन पात्रों की कई कभी नहीं एक नाम में दिखाई देगा, लेकिन अगर वे ऐसा करते हैं, तो मैं यह पसंद करूंगा कि वे ईमेल को सफलतापूर्वक भेजे जाने से नहीं रोकें।
वर्तमान में, यह विफल रहता है के रूप में
अवैध 'किया गया:' की अनदेखी के साथ अपाचे के error.log में बताया गया है प्राप्तकर्ता पता '¥ μÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ ' लेनदेन निरस्त किया गया: कोई प्राप्तकर्ताओं निर्दिष्ट
यदि संभव हो तो , मैं विशेष पात्रों को 'जैसे ही वे रखना चाहता हूं।' अन्यथा, क्या मैं नाम साफ करने के लिए कुछ प्रकार के लिप्यंतरण फ़ंक्शन का उपयोग कर सकता हूं? उपयोग के
उदाहरण:
mb_internal_encoding('UTF-8');
$name = '山本';
$email = '[email protected]';
$addr = mb_encode_mimeheader($name, 'UTF-8', 'Q') . " <$email>";
बेहतर संगतता के लिए आप शीर्ष लेख Mime-Version: 1.0
स्थापित करना चाहिए ताकि सभी मेल क्लाइंट आप समझ ':
<?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>");
}
?>
शायद आरएफसी 2048 में एक पॉइंटर भी जोड़ें जो इस व्यवहार को परिभाषित करता है। यदि आप ईमेल को संभालना चाहते हैं तो MIME आवश्यक है। – tripleee
धन्यवाद, धन्यवाद, यह पूरी तरह से काम करता है। @tripleee आरएफसी संदर्भ के लिए धन्यवाद। मुझे यह नहीं पता था कि यह ईमेल के सभी हिस्सों पर लागू होता है। – Citricguy
क्या विशेष charaters ** और ** रिक्त स्थान एन्कोड करना भी संभव है? (http://stackoverflow.com/questions/11963712/how-to-correctly-encode-strings-for-usage-in-mail-headers-in-php) दुर्भाग्यवश 'mb_encode_mimeheader' उस मामले में मदद नहीं करता है। –