2010-09-04 12 views
35

मैं एक php स्क्रिप्ट बनाने की कोशिश कर रहा हूं जो एक mySQL डेटाबेस का उपयोग कर मेरे लिए मेलिंग सूची को संभालेगा, और मेरे पास यह अधिकतर जगह है। दुर्भाग्य से, मुझे हेडर सही काम करने के लिए प्रतीत नहीं होता है, और मुझे यकीन नहीं है कि समस्या क्या है।ई-मेल हेडर के लिए प्रारूप क्या है जो ई-मेल के बजाय नाम प्रदर्शित करता है?

$headers='From: [email protected] \r\n'; 
$headers.='Reply-To: [email protected]\r\n'; 
$headers.='X-Mailer: PHP/' . phpversion().'\r\n'; 
$headers.= 'MIME-Version: 1.0' . "\r\n"; 
$headers.= 'Content-type: text/html; charset=iso-8859-1 \r\n'; 
$headers.= "BCC: $emailList"; 

परिणाम मैं प्राप्त अंत पर हो रही है है:

"noreply"@rilburskryler.net rnReply दें: [email protected]: PHP/5.2.13rnMIME-संस्करण: के रूप में दिखाया गया ईमेल पतों का उपयोग करने के लिए निम्न का विरोध किया 1.0

उत्तर

88

, नाम है करने के लिए:

"John Smith" <[email protected]> 

आसान।

टूटी हुई लाइन ब्रेक के बारे में, कि है, क्योंकि आप नहीं बल्कि उद्धरण चिह्नों की तुलना में अक्षर लोप में पाठ संलग्न कर रहे हैं:,

$headers = array(
    'From: "The Sending Name" <[email protected]>' , 
    'Reply-To: "The Reply To Name" <[email protected]>' , 
    'X-Mailer: PHP/' . phpversion() , 
    'MIME-Version: 1.0' , 
    'Content-type: text/html; charset=iso-8859-1' , 
    'BCC: ' . $emailList 
); 
$headers = implode("\r\n" , $headers); 
+7

डिस्प्ले नाम को उद्धृत करने की आवश्यकता होती है जब इसमें एक सफेद स्पेस कैरेक्टर होता है। – Gumbo

+2

@ गम्बो: बस इसका परीक्षण किया गया। उद्धरण चिह्नों के बिना काम किया। सुनिश्चित नहीं है कि यह मानक है, या सिर्फ एक बहुत ही लचीली/क्षमाशील संरचना है ... –

+0

मुझे बाद वाला लगता है; देखें [आरएफसी 822] (http://tools.ietf.org/html/rfc822#section-6.1)। – Gumbo

-2
$to = '[email protected]'; 
    $to .=', ' . $_POST['Femail']; 
    $subject = 'Contact Us Form'; 

// message 
$message ="<html> 
<head> 
<title>Email title</title> 
</head> 
<body> 
<h3>important message follows</h3> 
<div> 
    you are being brought this email to be safe. 
</div> 
</body> 
</html>"; 


    // To send HTML mail, the Content-type header must be set 
    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
    // Additional headers 
    $headers .= 'To: SendersEmailName <[email protected]>' . "\r\n"; 
    $headers .= 'From: YourName <[email protected]>' . "\r\n"; 
    $headers.='X-Mailer: PHP/' . phpversion()."\r\n"; 
    $headers.= "BCC: $emailList"; 


    mail($to, $subject, $message, $headers); 
8

एक single quoted string के भीतर ही भागने दृश्यों \' और \\' ने ले ली है और \ क्रमशः।

$headers = "From: [email protected] \r\n"; 
$headers.= "Reply-To: [email protected]\r\n"; 
$headers.= "X-Mailer: PHP/" . phpversion()."\r\n"; 
$headers.= "MIME-Version: 1.0" . "\r\n"; 
$headers.= "Content-type: text/html; charset=iso-8859-1 \r\n"; 
$headers.= "BCC: $emailList"; 

तुम भी शीर्ष लेख फ़ील्ड इकट्ठा करने के लिए एक सरणी इस्तेमाल कर सकते हैं और बाद में उन्हें एक साथ रखा:

$headers = array(
    'From: [email protected]', 
    'Reply-To: [email protected]', 
    'X-Mailer: PHP/' . phpversion(), 
    'MIME-Version: 1.0', 
    'Content-type: text/html; charset=iso-8859-1', 
    "BCC: $emailList" 
); 
$headers = implode("\r\n", $headers); 
आप double quotes का उपयोग भागने दृश्यों \r और \n है करने के लिए इसी पात्रों द्वारा की जगह होने के लिए की जरूरत है
संबंधित मुद्दे