2016-04-05 4 views
14

मेरे पास स्विफ्टमेलर बंडल के साथ सिम्फनी प्रोजेक्ट है। मैं एनटीएलएम ऑथ का उपयोग कर स्विफ्टमेलर के माध्यम से ईमेल भेजने की कोशिश कर रहा था। लेकिन मुझे बंडल की कॉन्फ़िगरेशन के माध्यम से एनटीएलएम चालू करने का कोई तरीका नहीं मिला है।क्या सिम्फनी में स्विफ्टमेलर बंडल का उपयोग करके एनटीएलएम ऑथ टाइप को स्विफ्टमेलर में जोड़ने का कोई सही तरीका है?

इसके साथ संघर्ष करने के बाद मैं समाधान

config.yml

# spool:  { type: memory } 

में सबसे पहले समाधान

current($this->get('mailer')->getTransport()->getExtensionHandlers()) 
    ->setAuthenticators([new \Swift_Transport_Esmtp_Auth_NTLMAuthenticator()]); 

टिप्पणी स्पूल पाया है लेकिन यह एक छोटा सा अजीब लग रही है।

दूसरा समाधान

निकालें SwiftMailer बंडल और सीधे swiftMailer का उपयोग करें, क्योंकि ntlm प्रमाणन प्रकार डिफ़ॉल्ट रूप से सक्रिय।

क्या एनटीएलएम ऑथ प्रकार का उपयोग करने का कोई बेहतर तरीका है?

+4

आपके मौजूदा समाधान/हैक कोड के 1 लाइन लेता है ... जब तक NTLM नहीं होगा के रूप में तेजी से मेलर बंडल द्वारा समर्थित, मुझे संदेह है कि आपको एक बेहतर समाधान मिल सकता है ... –

+0

@ कैड्रिल्स, मेरा मतलब घटनाओं या/और कॉन्फ़िगरेशन के माध्यम से है। काम कर रहे स्पूल के साथ। – sectus

+0

symfony.com/doc/current/reference/configuration/swiftmailer.html#auth-mode - मान्य मान सादे, लॉगिन, क्रैम-एमडी 5, या शून्य हैं। कम्प्यूटर सीधे कॉन्फ़िगर से पल के लिए नहीं कहता है। मुझे विक्रेता/स्विफ्टमेलर/स्विफ्टमेलर/lib/preferences.pp में मिला था। क्या आप इस फाइल में अपनी घोषणा कर सकते हैं? मुझे पता है कि यह विक्रेता फ़ाइल में है और शायद अपडेट पर अधिलेखित किया जा सकता है, लेकिन अगर आप क्लीनर कोड चाहते हैं, शॉट के लायक हैं और फिर – Simon

उत्तर

1

मैंने pull request बनाया जो अनुमोदित हो गया।

संस्करण v3.0.4 जब से तुम

auth_mode: ntlm 

उपयोग कर सकते हैं आप आदेश का उपयोग v3.0.4 संस्करण स्थापित कर सकते हैं

composer require symfony/swiftmailer-bundle:^3.0.4 
+0

सुपर। । । । । । – sectus

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