
ओपन-सोर्स ईमेल फ़िल्टरिंग फ्रेमवर्क जो सामग्री विश्लेषण, हेडर जांच, बायेसियन स्कोरिंग और DNS ब्लॉकलिस्ट का उपयोग करके स्पैम और फ़िशिंग का पता लगाता है।
Apache SpamAssassin परियोजना अपनी विकास प्रक्रिया के लिए subversion रिपॉजिटरी का उपयोग करती है। इस रिपॉजिटरी का केवल-पठनीय मिरर GitHub पर यहाँ बनाए रखा गया है।
यह README फ़ाइल युक्त .github निर्देशिका Apache SpamAssassin रिलीज़ पैकेज का हिस्सा नहीं है। इस निर्देशिका में फ़ाइलें डेवलपर्स द्वारा GitHub के Actions सुविधा का उपयोग करके GitHub होस्टेड रनर पर परीक्षण चलाने के लिए हैं।
Apache SpamAssassin परियोजना प्रबंधन समिति ने GitHub द्वारा Apache Software Foundation को आवंटित संसाधनों का उपयोग करके बिल्ड और परीक्षण चलाने के लिए कोई व्यवस्था नहीं की है। इस निर्देशिका में परिभाषित Actions किसी भी व्यक्ति के लिए उपलब्ध हैं, जिसमें SpamAssassin के सक्रिय डेवलपर भी शामिल हैं, ताकि वे उन्हें अपने व्यक्तिगत GitHub फोर्क में चला सकें। हालाँकि, इस रिपॉजिटरी में फ़ाइलों का शामिल होना सॉफ़्टवेयर का जनता के लिए औपचारिक रिलीज़ नहीं है।
आपके द्वारा सबमिट किए गए वर्कफ़्लो रन में पहले तीन इनपुट बॉक्स के मानों के प्रत्येक मान्य संयोजन के लिए एक जॉब होगी।
चौथा इनपुट बॉक्स आपको चलाए जाने वाले परीक्षणों को दर्ज करने की अनुमति देता है, उसी प्रारूप में जैसा कि make test कमांड लाइन में TEST_FILES के लिए उपयोग होता है। यदि खाली छोड़ दिया जाए, तो इसका अर्थ है सभी परीक्षण चलाना।
टेस्ट बॉक्स में कुछ भी दर्ज किया गया हो, SQL का उपयोग करने वाले परीक्षण केवल उन जॉब्स में चलाए जाएँगे जिनमें डेटाबेस के लिए postgres या mysql निर्दिष्ट है। साथ ही, spamd स्ट्रेस टेस्ट और रूट टेस्ट कभी नहीं चलाए जाते।
GitHub की विभिन्न प्लेटफार्मों पर एक साथ चलाए जा सकने वाले जॉब्स की संख्या पर सीमाएँ हैं। आपके द्वारा सबमिट किए गए जो जॉब इस सीमा से अधिक होते हैं, वे कतार में लगा दिए जाएँगे और अन्य जॉब्स समाप्त होने पर शुरू होंगे।
बाएँ साइडबार में सूचीबद्ध किसी जॉब पर क्लिक करने से एक पैन खुलेगा जो जॉब का लॉग आउटपुट दिखाता है। जो जॉब त्रुटियों के साथ समाप्त होती है, उस पर लाल X आइकन होगा। विवरण के लिए आप लॉग आउटपुट देख सकते हैं। कुछ त्रुटियों के परिणामस्वरूप t/log निर्देशिका की सामग्री को एक आर्टिफैक्ट के रूप में ज़िप कर दिया जाता है, जिसे आप डाउनलोड कर सकते हैं। जब आप लॉग पैन देख रहे हों, तो बाएँ साइडबार के ऊपर Summary आइकन पर क्लिक करें। यदि डाउनलोड करने के लिए कोई आर्टिफैक्ट हैं, तो Artifacts शीर्षक के अंतर्गत एक संख्या होगी जिस पर आप क्लिक कर सकते हैं।
चलाए जाने वाले जॉब्स की संख्या तीनों इनपुट बॉक्स में आपके द्वारा निर्दिष्ट विकल्पों का गुणनफल होती है। जब तक आप SpamAssassin को perl के हर संभव संस्करण पर परीक्षण नहीं करना चाहते, जो आप तब कर सकते हैं जब आप नई रिलीज़ तैयार करने वाले रिलीज़ प्रबंधक हों, आप संभवतः perl का केवल एक हालिया संस्करण चुनना चाहेंगे।
रनर के लिए विकल्प बॉक्स केवल "-latest" नाम दिखाता है, लेकिन आप कोई भी GitHub होस्टेड रनर दर्ज कर सकते हैं जिसे वे उपलब्ध कराते हैं, जैसे ubuntu-20.04 या macos-11.
Windows का परीक्षण Strawberry Perl का उपयोग करके किया जाता है, जिसका नवीनतम रिलीज़ 5.32 है। यदि आपके perl संस्करणों की सूची में 34 या 36 है, तो वे Windows प्लेटफ़ॉर्म पर जॉब्स उत्पन्न नहीं करेंगे।
डेटाबेस विकल्प postgres या mysql का उपयोग करके चलाए गए जॉब केवल विभिन्न sql परीक्षण चलाएँगे। डेटाबेस के लिए none विकल्प का उपयोग करके चलाए गए जॉब अन्य सभी परीक्षण चलाएँगे।
कुछ परीक्षण, विशेष रूप से वे जो नेटवर्क एक्सेस पर निर्भर करते हैं जैसे t/dnsbl.t, कभी-कभी विफल होते दिखते हैं, विशेषकर जब आप एक साथ कई जॉब चला रहे हों। किसी वर्कफ़्लो के सभी जॉब पूर्ण हो जाने के बाद, आप जॉब्स के अवलोकन पृष्ठ पर Re-run jobs बटन पर क्लिक करके और फिर Re-run failed jobs चुनकर केवल उन जॉब्स को फिर से चला सकते हैं जो विफल हुई हैं। इसे तब तक दोहराएँ जब तक कि जो जॉब केवल आंतरायिक विफलताएँ प्रतीत होती हैं, वे सफलतापूर्वक पास न हो जाएँ।