2010-01-28 7 views
8

मैं अपने आवेदन से मेल भेजने के लिए केकेपीएचपी ईमेल घटक का उपयोग कर रहा हूं। अब रिटर्न-पथ में [email protected]केकेपीएचपी ईमेल घटक में रिटर्न-पथ को फिर से लिखना या सेट कैसे करें?

कुछ ऐसा है जो मैं केकेपीएचपी घटक का उपयोग करते समय ईमेल में रिटर्न-पथ मान को सेट या फिर से लिख सकता हूं?

मुझे पता है कि PHP में 'मेल' के माध्यम से मेल भेजते समय मुझे यह कैसे करना है, लेकिन केकेपीएचपी ईमेल घटक में ऐसी सुविधा गायब लगती है ... या क्या मुझे कुछ याद आ रही है? :)

+0

मेरे समस्या $ this-> Email-> वापसी = [email protected] था कि यह पोस्टफ़िक्स द्वारा फिर से लिखा गया था जब के माध्यम से भेजने मेल/डिफ़ॉल्ट। मुझे अपने मेल एसएमटीपी के माध्यम से भेजना पड़ा, जहां वापसी भी काम नहीं कर रही है - लेकिन: यह प्रेषक/से प्रतिलिपि हो जाती है। क्या किसी के पास सुराग है कि पोस्टफिक्स रिटर्न-पथ क्यों लिखता है? केक डीबग वैकल्पिक रिटर्न-पथ सेटिंग दिखाता है। –

उत्तर

4

ईमेलकंपोनेंट :: वापसी नामक एक विशेषता है जो त्रुटि संदेशों के लिए वापसी पथ है। ध्यान दें कि यह उत्तर से अलग है विशेषता के लिए।

$this->Email->return = '[email protected]'; 

http://book.cakephp.org/1.3/en/The-Manual/Core-Components/Email.html

+0

आप बिल्कुल सही हैं। इसके अलावा जॉन ने कहा कि यह एक साधारण $ यह-> ईमेल-> वापसी = '[email protected]' है; इसने इसे पहले करने की कोशिश की लेकिन यह काम नहीं किया (न तो यह अब करता है, लेकिन मुझे लगता है कि मुझे पता चलेगा कि समस्या कहां स्थित है)। ऐसा लगता है कि हमारे मेलसर्वर भेजने से पहले हेडर को फिर से लिख रहा है:/ –

0

केक मैनुअल में खोदना जब आप देख रहे थे कि शेष घटक का उपयोग कैसे किया जाए, तो आपको निम्न जैसा कुछ देखना चाहिए था। यह रिटर्न-पथ सेट है।

$ यह-> ईमेल-> वापसी = '[email protected]';

2

CakePHP ईमेल घटक में वापसी पथ को बदलने के लिए मैं इस तरह कार्य करें:

... 
$return_path_email = '[email protected]'; 
... 

$this->Email->additionalParams = '-f'.$return_path_email; 

और यह आकर्षण की तरह काम करता है;)

+0

मेल को वास्तव में भेजे जाने पर '$ this-> ईमेल-> वापसी' को ओवरराइट किया जा रहा है। –

3

एक सह कार्यकर्ता और मैं इस मुद्दे पर काम कर रहे थे, हमने पाया कि php.ini में निम्न पंक्ति को संपादित करने से हमें हमारा फिक्स दिया गया:

से:

sendmail_path = /usr/sbin/sendmail -t -i 

रहे हैं:

sendmail_path = /usr/sbin/sendmail -t -i -f [email protected] 

जब परीक्षण मान्य डोमेन के लिए अपने ईमेल भेजने के लिए सुनिश्चित करें। यह हमें कुछ मिनट के लिए पकड़ा।

7

में CakePHP 2 (जहां ईमेल घटक काफी हद तक CakeEmail वर्ग ने ले ली है), तो आप /app/Config/email.php अंदर इस विन्यास कर सकते हैं:

class EmailConfig { 
    public $email = array(
     ... 
     // The next line attempts to create a 'Return-path' header 
     'returnPath' => '[email protected]', 

     // But in some sendmail configurations (esp. on cPanel) 
     // you have to pass the -f parameter to sendmail, like this 
     'additionalParameters' => '[email protected]', 
     ... 
    ); 
} 

या अगर आप की जरूरत है यह बस एक ही ईमेल के लिए, कुछ इस तरह काम करना चाहिए है ... साथ

App::uses('CakeEmail', 'Network/Email'); 
$email = new CakeEmail('MyConfig'); 
$email->from(...) 
     ->to(...) 
     ->subject(...) 
     ->returnPath('[email protected]') 
     // Haven't tested this next line, but may possibly work? 
     ->config(array('additionalParameters' => '[email protected]')) 
     ->send(); 
+0

बस बहुत बढ़िया।:) – VishalParkash

+1

केकपीएचपी 2 के लिए, '-> कॉन्फ़िगरेशन (सरणी (' अतिरिक्त पैरामीटर '=>' -f [email protected] '))' वह रेखा है जो चाल करता है। रिटर्नपाथ निर्दिष्ट करना आवश्यक नहीं है। –

संबंधित मुद्दे