2011-06-10 3 views
13

के साथ कई सीसी और बीसीसी भेजना मेरे पास एक प्रोजेक्ट है जो मैं अपने काम पर काम कर रहा हूं और मैं पियर की मेलिंग का उपयोग कर रहा हूं। मुझे smtp का उपयोग करने की आवश्यकता है क्योंकि हमें अपने मेलसेवर से सबकुछ ट्रैक करने में सक्षम होना चाहिए। और उपयोगकर्ताओं को कंपनी आधारित ईमेल भेजने से पहले लॉग इन करने में सक्षम होना चाहिए। हम इस के लिए PHP के मेल फ़ंक्शन का उपयोग नहीं कर सकते हैं।PHP सीएआर मेल

मेरी समस्या यह है कि मुझे सीसी और बीसीसी भेजने के साथ-साथ कई बीसीसी भेजने के लिए नेट पर कोई भी दस्तावेज नहीं मिल रहा है। Php 'मेल funciton के साथ करना बहुत आसान है। आपको बस इतना करना है ताकि

$headers .= 'Cc: [email protected]' . "\r\n"; 
$headers .= 'Bcc: [email protected]' . "\r\n"; 

तरह $ हैडर चर में जोड़ने के इस php समारोह जहाँ मैं नाशपाती

function sender_mail($email,$subject,$mailmsg, $cc, $bcc){ 

    include("Mail.php"); 
    /* mail setup recipients, subject etc */ 

    //DEFAULT VALUE OF FROM 
    $from = "[email protected]"; 

    //GET EMAIL OF USER 
    $result = mysql_query("SELECT email, email_pass FROM u_perinfo WHERE user_id = '$_SESSION[uid]'") 
    or die("There was an error when grabbing your email information"); 
    if(mysql_num_rows($result) > 0){ 
     $row = mysql_fetch_array($result); 
     if($row[0] != ''){ 
      $from = $row[0]; 
     } 
     $email_pass = $row[1]; 
    } 

    $recipients = "$email"; 
    $headers["From"] = "$from"; 
    $headers["To"] = "$email"; 
    $headers["Subject"] = $subject; 
    $headers["Cc"] = "$cc"; //Line added by Me to see if it works 
    $headers["Bcc"] = "$bcc"; //Line added by Me to see if it works 


    //$mailmsg = "Welcome to Addatareference.com! \r\n\r\nBelow is your unique login information. \r\n\r\n(Please do not share your login information.)$accountinfo"; 
    /* SMTP server name, port, user/passwd */ 
    $smtpinfo["host"] = "smtp.emailsrvr.com"; 
    $smtpinfo["port"] = "25"; 
    $smtpinfo["auth"] = true; 
    $smtpinfo["username"] = "$from"; 
    $smtpinfo["password"] = "$email_pass"; 
    /* Create the mail object using the Mail::factory method */ 
    $mail_object =& Mail::factory("smtp", $smtpinfo); 
    /* Ok send mail */ 
    $mail_object->send($recipients, $headers, $mailmsg); 

} 

मैं के साथ इस के लिए एक समाधान खोजने की कोशिश की है का उपयोग के लिए मेरे कोड है कोई असली जानकारी मेरे रास्ते वापस आ रही है। अगर कोई मेरी मदद कर सकता है तो मुझे बहुत सराहना की जाएगी।

+0

क्या कि Mail.php आप उपयोग कर रहे हैं, लेकिन मैं का उपयोग कर PHPMailer (http सुझाव देंगे पता नहीं है: //phpmailer.worxware.com) या स्विफ्टमेलर (http://swiftmailer.org) इसके बजाए। –

+2

क्या आपने प्राप्तकर्ता सूची में बीसीसी और सीसी पते सहित सभी ईमेल पते जोड़ने और फिर हेडर में सीसी और बीसीसी पते निर्दिष्ट करने का प्रयास किया है? – Jrod

+0

इसके अलावा, क्या आप सिस्टम से मेल भेज सकते हैं। आपका होस्ट पोर्ट 25 – Colum

उत्तर

3

आपको केवल $ प्राप्तकर्ता चर में सीसी, बीसीसी में सभी को जोड़ना होगा। हेडर तय करता है कि कहां भेजना है।

25

पीएसी मेल फ़ंक्शन का उपयोग करते समय बीसीसी के साथ कोई समस्या है: थंडरबर्ड बीसीसी हेडर प्रदर्शित करता है, इसलिए प्राप्तकर्ता छुपा नहीं है, जो बीसीसी का पूरा बिंदु है। यह टू: हेडर सूची में भी प्रदर्शित होता है (क्योंकि आपको प्राप्तकर्ताओं में बीसीसी सूची शामिल करनी होगी)।

संपादित करें: हल किया गया - मुझे दूसरी साइट से मिला कि समाधान केवल $ प्राप्तकर्ताओं में बीसीसी सूची शामिल करना है, न कि किसी भी शीर्षलेख में। यह काम करता हैं!

इस प्रकार

:

$bcc = "[email protected]"; 
$to = "[email protected]"; 
$headers = array(..other stuff.., 'To' => $to, ..rest of header stuff); // No Bcc header! 
$recipients = $to.", ".$bcc; 
$mail = $smtp->send($recipients, $headers, $message); 

संपादित # 2: मेरे स्रोत स्वीकार करते हुए - http://raamdev.com/2008/adding-cc-recipients-with-pear-mail/

+1

धन्यवाद। :) (मुझे पता है कि मेरा धन्यवाद थोड़ा देर हो चुकी है, लेकिन कभी भी देर से बेहतर नहीं!) –

+0

यह बेहतर जवाब है। मैंने अभी भी इसका परीक्षण किया और इसे काम कर लिया। अब तक (और यह जवाब) मैं बीसीसी मुद्दे को हल नहीं कर सका। –

+1

हाँ, लेकिन यह सच बीसीसी नहीं है, है ना? यह सिर्फ कई ईमेल संदेश भेज रहा है। –