2012-11-20 10 views
5

मेरे पास एक ही सर्वर पर 2 क्लाइंट हैं जो मैं होस्ट करता हूं, दोनों sendgrid.com (दोनों के पास अपने खाते हैं) के माध्यम से ईमेल भेजते हैं।कोल्डफ्यूजन सीएफमेल और प्रेषक

मैं प्रेषक पर रिपोर्ट देख रहा था और देखा कि "क्लाइंट 2" की एक रिपोर्ट में "क्लाइंट 1" की श्रेणियां दिखाई दे रही थीं।

मैंने प्रेषक के साथ फोन पर व्यापक समय बिताया और वे मुझे बता रहे हैं कि "क्लाइंट 2" के प्रमाणित उपयोगकर्ता के माध्यम से "क्लाइंट 1" शो के लिए 3000 के बैच से 65 ईमेल के कुछ हद तक ईमेल हैं।

मेरी पटकथा में, मैं coldfusion cfmail का उपयोग करता हूं और मैं टैग में उस क्लाइंट के लिए SMTP पता, उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करता हूं।

एक संभावित सिद्धांत प्रशासक में मेल के अंतर्गत "मेल सर्वर से कनेक्शन बनाए रखें" चेक बॉक्स को ध्यान में रखता है।

"संदेश भेजने के बाद पुन: उपयोग के लिए मेल सर्वर से कनेक्शन रखने के लिए इस चेक बॉक्स का चयन करें (अनुशंसित)।"

यदि दोनों ग्राहक एक ही समय में ईमेल भेजते हैं (बहुत संभव है) तो सर्फफ्यूजन मेल स्पूलिंग इंजन उन्हें सर्वर/उपयोगकर्ता नाम और पासवर्ड के आधार पर अलग कर देगा या उन सभी को मेल सर्वर पर भेज देगा जो वर्तमान में खुला है?

यदि मैं मेल सर्वर चेकबॉक्स के रखरखाव कनेक्शन को अनचेक करता हूं ... संसाधनों पर नकारात्मकता क्या है? मेरे ग्राहक पूरे दिन न्यूज़लेटर्स और लेनदेन संबंधी ईमेल भेजते हैं, शायद प्रत्येक ग्राहक के बारे में 10k।

+0

मेरे पास कोशिश करने के लिए चारों ओर एक काम हो सकता है। अगर मैं sendgrid.mydomain.com के लिए अपने डोमेन में से एक में एक नाम उपनाम बनाता हूं और अपने कोड में अपना सर्वर पता बदलता हूं, तो मुझे उम्मीद है कि ठंडे फ़्यूज़न का एक अलग सर्वर लगता है और उस डोमेन के लिए एक अलग कनेक्शन खोलता है ताकि मेल मिश्रित न हो । – steve

उत्तर

2

मैंने अपने सर्वर में DNS सेटिंग्स को संशोधित करना समाप्त कर दिया, एक cname जोड़कर जो smtp पता, smtp.sendgrid.net को इंगित करता है। मैंने फिर नए सर्वर नामों का उपयोग करने के लिए अपना कोड अपडेट किया, और ऐसा लगता है कि कनेक्शन अलग हो रहे हैं।

+0

CF11 के रूप में, 7 अपडेट करें, अब यह तय किया जाना चाहिए। – steve

4

मुझे नहीं पता कि आप कोल्डफ्यूजन का कौन सा संस्करण चल रहा है लेकिन कोल्डफ्यूजन 9 में एक नई सुविधा जोड़ा गया था जो आपको अपनी एप्लिकेशन.cfc फ़ाइल में SMTP सर्वर सेटिंग्स निर्दिष्ट करने की अनुमति देता है। यह मानते हुए कि आपकी 2 साइट्स के लिए अलग-अलग Application.cfc फ़ाइलें हैं, तो शायद यह आपके लिए काम करेगी।

Here is a reference to the new feature in ColdFusion 9

यहाँ संदर्भित पृष्ठ से पाठ है।

समस्या
मैं ईमेल भेजने के लिए ColdFusion सर्वर में होस्ट अनुप्रयोगों के लिए अलग एसएमटीपी सर्वर सेटिंग्स का उपयोग कर सकते हैं।

समाधान
Application.cfc फ़ाइल में नए ColdFusion 9 "smtpServersettings" सुविधा का उपयोग करके, हम अनुप्रयोगों के लिए अलग एसएमटीपी सर्वर की सेटिंग्स निर्दिष्ट कर सकते हैं।

विस्तृत विवरण
ColdFusion 9 एक नया जोड़ा Application.cfc फ़ाइल में "smtpServersettings" नामक विशेषता। हम SMTP सर्वर सेटिंग विवरण को application.cfc में इस स्कोप के "smtpServersettings" विशेषता को निर्दिष्ट कर सकते हैं जो तीन मान लेता है और वे एक संरचना के रूप में सर्वर, उपयोगकर्ता नाम और पासवर्ड हैं।

<cfcomponent displayname="CF9ApplicationVariables" output="false"> 

    <cfset this.name = "CF9ApplicationVariables" /> 
    <cfset this.smtpserversettings = { 
          server="mailServerAddress", 
          username="userEamilID", 
          password="userPassword" 
          } /> 
</cfcomponent> 

अब CFMail टैग मेल के रूप में Application.cfc में "smtpServersetting" में ऊपर उल्लेख किया है भेजने के लिए सर्वर विवरणों का उपयोग करेंगे और यह ColdFusion 9 प्रशासक में निर्दिष्ट सर्वर मूल्यों का उपयोग नहीं होगा। यदि "smtpServersetting" विशेषता का उपयोग नहीं किया जाता है तो CFMail सामान्य रूप से व्यवहार करेगा।

+0

धन्यवाद, मैं सीएफ 9 चला रहा हूं, और इसके बारे में पता नहीं था। अधिकांश समय मैं व्यवस्थापक में डिफ़ॉल्ट मेल सर्वर का उपयोग करता हूं, मेरा स्थानीय एसएमटीपी सर्वर, लेकिन इस मामले में मेरे पास 2 अलग-अलग साइटें हैं जो रिमोट एसएमटीपी सर्वर का उपयोग करती हैं (जो एक ही सर्वर होती है, लेकिन विभिन्न उपयोगकर्ता नाम और पासवर्ड के साथ)। ऐसा लगता है कि जब ठंडाफ्यूजन उस सर्वर के लिए कनेक्शन को खुला रखता है, तो यह जांचने के लिए जांच नहीं करता है कि प्रमाणीकरण जानकारी बदल गई है और उसी लॉगिन सत्र का उपयोग करता रहता है क्योंकि यह वही सर्वर यूआरएल है। – steve

+0

इसके लायक होने के लिए मैं सीएफ 9 चला रहा हूं और इसके बारे में भी पता नहीं था। ऐसा लगता है कि यह कोशिश करने लायक हो सकता है हालांकि। यदि आप इसे आजमाते हैं तो कृपया अपने परिणामों को वापस पोस्ट करें। चूंकि यह आपको केवल सर्वर, उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करने की अनुमति देता है, मुझे यकीन नहीं है कि बनाए रखने वाले कनेक्शन सेटिंग (या अन्य व्यवस्थापक सेटिंग्स में से कोई भी) कैसे खेलेंगे। –

+0

जब आप किसी क्वेरी के विरुद्ध सीएफमेल का उपयोग करते हैं, तो ठंडाफ्यूजन आउटगोइंग संदेशों का एक गुच्छा उत्पन्न करता है और इसे स्पूल फ़ोल्डर में रखता है। कोल्डफ्यूजन मेल स्पूलर तब प्रत्येक संदेश उठाता है और इसकी जांच करता है। यदि कोई विशेष मेल सर्वर परिभाषित नहीं है, तो यह इसे डिफ़ॉल्ट मेल सर्वर के माध्यम से वितरित करता है। यदि आप एक वैकल्पिक मेल सर्वर निर्दिष्ट करते हैं, तो यह इसके साथ एक कनेक्शन बनाता है। प्रत्येक संदेश के लिए 1 बार लॉग इन करने के बजाय, यदि आप व्यवस्थापक में "कनेक्शन बनाए रखें" चेक बॉक्स रखते हैं, तो यह कनेक्शन के माध्यम से कई संदेश भेजेगा। हालांकि, मेरे मामले में, मैं एकाधिक उपयोगकर्ता नामों के साथ 1 सर्वर का उपयोग करता हूं और ... – steve

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