2012-11-30 29 views
6

में परीक्षण साइट से ग्राहकों को कोई ईमेल नहीं भेजता हूं मुझे घर पर परीक्षण उद्देश्यों के लिए अपनी मौजूदा साइट की प्रतिलिपि बनाना है। मुझे कंपनी से अनुमति मिली है।मैं यह कैसे सुनिश्चित कर सकता हूं कि मैं php

लेकिन डेटाबेस में मेरे पास ईमेल के साथ 10,000 से अधिक ग्राहक रिकॉर्ड हैं। मैं विभिन्न परीक्षणों के दौरान साइट के साथ कुछ गड़बड़ी करते समय गलती से उन्हें कोई ईमेल भेजना नहीं चाहता हूं।

क्या से बचने के लिए सबसे अच्छा तरीका है कि

मैं अन्य सामान

+2

सरल! – Dale

+0

में केवल अपना स्वयं का (और शायद अन्य देव ') ईमेल रखने वाले उपयोगकर्ता डेटाबेस को खाली करें और इसके अतिरिक्त, विकास सर्वर को "बाहरी" पर मेल न भेजने के लिए कॉन्फ़िगर करें। –

+0

मुझे जल्दी से जोड़ने का मतलब है कि मेरा मतलब डेटाबेस की स्थानीय प्रति उत्पादन नहीं है :) – Dale

उत्तर

7

सबसे बेवकूफ-सबूत विधि जिसका आप उपयोग कर सकते हैं अक्सर इन चीजों के लिए सबसे अच्छा होता है क्योंकि हमारे पास उन दिनों में कुछ भी गलत हो सकता है। सावधान रहना सबसे अच्छा है, यहां तक ​​कि सीमा रेखा पारानोइड भी, जब कोई गलती वास्तव में आपके दिन को बर्बाद कर सकती है।

नपुंसक विन्यास डिफ़ॉल्ट

बिल्कुल सबसे सुरक्षित प्रणाली उत्पादन सर्वर पर उत्पादन सर्वर के लिए एसएमटीपी सर्वर विन्यास रखना है और केवल पर द्वारा:

यहाँ कुछ तरीके कि काम हो सकता है है उत्पादन सर्वर। आपकी विकास प्रति में कुछ अन्य एसएमटीपी विन्यास होगा, जैसे परीक्षण जीमेल एसएमटीपी खाते। आम तौर पर जीमेल सामान्य खातों पर प्रति दिन 500 ईमेल तक सीमित करता है ताकि आप वास्तव में इस सीमा को हिट कर सकें यदि आप वास्तव में किसी चीज को पेंच करते हैं।

बदलें डेटाबेस में ग्राहक ईमेल

एक और बात पर विचार करने के लिए, अपने डेटाबेस में ग्राहक ईमेल के सभी स्क्रबिंग उन्हें हटाने और उन्हें [email protected] और [email protected] साथ की जगह अगर आप वास्तव में करने के लिए परवाह प्राप्त करने और उन्हें निरीक्षण, ले जा रहा है इस तथ्य का लाभ कि + और बाद की सामग्री को जीमेल के वितरण के लिए अनदेखा किया जाता है, जिससे आपको असीमित संभावित ईमेल पते मिलते हैं।

एक उदाहरण के रूप:

UPDATE customers SET email=CONCAT('mytestaccount+', customer.id, '@gmail.com') 

आप इस अनुकूलित करने के लिए जो भी ईमेल पता आप चाहते हैं होना पड़ेगा। ऐसा करने का एक फायदा यह है कि आपके पास अपने विकास ड्राइव और इसके किसी भी संबंधित बैक-अप पर बैठे ग्राहक ईमेल पते की एक मूल्यवान सूची नहीं होगी। पूरी तरह से होने के लिए आपको शायद हैश किए गए पासवर्ड को भी परेशान करना चाहिए, इसलिए डेटाबेस संभावित हैकर्स के लिए मूल रूप से बेकार है। कई बार पासवर्ड बैकअप से स्क्रैप हो जाते हैं जो ठीक से सुरक्षित नहीं होते हैं।

प्रस्तुत ग्राहक ईमेल गैर-वितरण योग्य

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

यह मूलतः एक एक लाइनर है:।

UPDATE customers SET email=CONCAT(email, '.test') 

से अधिक सवारी वितरण समय पर ईमेल

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

व्यवहार में इस तरह दिखता है:

if ($i_should_not_spam_customer_accounts_accidentally) 
{ 
    $mail->to = "[email protected]" 
} 

प्रेरित सेवा

कुछ Mail सेवा प्रदाता एक API है कि आप जब ई-मेल संदेशों का परीक्षण मदद कर सकता है एक API का प्रयोग करें। मैं PostageApp पर सह-संस्थापक हूं और सेवा डिज़ाइन की गई थी ताकि आप एपीआई कुंजी का उपयोग करके संदेश भेज सकें जो विशेष रूप से प्राप्त करने के लिए कॉन्फ़िगर किया गया है लेकिन ईमेल वितरित नहीं करता है। MailGun जैसी अन्य सेवाएं इसी तरह के फैशन में उपयोग की जा सकती हैं।

कोई एकल विफलता

यह एक अच्छा त्रासदी से एक तार्किक परीक्षण दूर होने लग रहा है नहीं है, हालांकि के प्वाइंट। आपको यह सुनिश्चित करना चाहिए कि कई चीजें हैं जो आपके पास झगड़ा करने से पहले गलत होनी चाहिए।

+0

धन्यवाद टैड जो बहुत अच्छा था। एक और बात, मुझे लगता है कि 100 से अधिक php फ़ाइलों में लिखे गए कुछ हार्दिक ईमेल पते हो सकते हैं जिन्हें मैं प्रबंधकों और अन्य वितरकों की तरह नहीं ढूंढ सकता। मैं उनसे पीछा कैसे छुड़ाऊं ​​। रेगेक्स के साथ या आपके पास कुछ अन्य विचार है – user825904

+0

एक सामान्य ईमेल नियमित अभिव्यक्ति '/ \ b (\ S + \ @ \ S + \। \ w +) \ b/'जैसा दिखता है और आपकी सभी स्रोत फ़ाइलों को खोजने और बदलने के लिए उपयोग किया जा सकता है । बस सुनिश्चित करें कि आपके पास सब कुछ एक संस्करण नियंत्रण प्रणाली में चेक किया गया है, इसलिए यदि आप अपने परिवर्तन को गड़बड़ कर देते हैं तो आप इसे तुरंत अनदेखा कर सकते हैं, साथ ही यह सत्यापित कर सकते हैं कि आपने क्या परिवर्तन किए हैं। 'गिट' और 'perl' यहां एक शक्तिशाली संयोजन हैं:' perl -pi -e '/ \ b (\ S + \ @ \ S + \। \ w +) \ b/[email protected]/g' *' हालांकि एक ही चीज़ को प्राप्त करने के अन्य तरीके हैं। – tadman

+0

यही कारण है कि विन्यास फाइलों में ईमेल पते रखना हमेशा एक बेहतर विचार है। एक विशेष "विकास मोड" कॉन्फ़िगर करना आसान है जो खातों का परीक्षण भेजता है और आपके सहकर्मियों को "टेस्टी टेस्टर्सपेंट" खरीद आदेशों को भ्रमित करने से परेशान नहीं करता है। – tadman

-6

बदलें सभी ईमेल पता, उदाहरण के लिए [email protected]email#domain.com को परीक्षण के लिए ई-मेल कार्यक्षमता की आवश्यकता है। परीक्षण पूर्ण होने के बाद आप को @ के साथ प्रतिस्थापित कर सकते हैं।

+0

"मुझे अन्य सामानों के परीक्षण के लिए ईमेल कार्यक्षमता की आवश्यकता है" – Dale

+1

इसका तात्पर्य है कि ओपी पूरी तरह से 'मेल() 'का उपयोग कर रहा है। एसएमटीपी के माध्यम से सीधे संवाद करने वाले किसी भी लचीले विकल्प पर विचार नहीं करना। –

0

यदि आप डेटाबेस में अपना कोड या डेटा नहीं बदलना चाहते हैं, और यदि आप अपनी स्थानीय मशीन में पोस्टफिक्स का उपयोग कर रहे हैं, तो आप अपने एड्रेस में सभी आउटगोइंग मेल को फिर से लिख सकते हैं। अधिक जानकारी: http://www.postfix.org/ADDRESS_REWRITING_README.html