सभी आउटगोइंग मेल को / dev / null पर भेजें


12

Sendmail के साथ, आप सभी आउटगोइंग मेल को / dev / null को कैसे भेजेंगे या ईमेल को कतारबद्ध होने या सभी पर भेजे जाने से रोकेंगे?

एक डेवलपमेंट नगियोस बॉक्स पर मैं मेल भेजने से रोकना चाहता हूं ताकि सूचनाएं बाहर न जाएं। आउटबाउंड मेल को रोकना मुझे nagios कॉन्फ़िग्यूशन का परीक्षण करने की अनुमति देगा और संयमी सूचनाओं को रोक सकता है।


प्रश्न के रूप में हटाए गए सोलारिस टैग, और समाधान ओएस विशिष्ट नहीं है।
स्टीव श्नेप

जवाबों:


8

मैंने पूरी तरह से सेंडेलमेल को अक्षम करके अपने विकास बॉक्स पर ऐसा किया और फिर एक सरल पर्ल स्क्रिप्ट एसएमटीपी पोर्ट पर सुनें और ईमेल को एक निर्देशिका में डंप करें। मुझे यकीन है कि यह Sendmail कॉन्फ़िगरेशन के साथ करना संभव है, लेकिन पर्ल स्क्रिप्ट बहुत आसान थी। यहाँ यह अनिवार्य करने के लिए नीचे छीन लिया है:

#!/usr/bin/perl -w 
use Net::SMTP::Server; 
use Net::SMTP::Server::Client; 

$server = new Net::SMTP::Server || die("$!\n"); 

while($conn = $server->accept()) { 
  my $client = new Net::SMTP::Server::Client($conn) || 
    die("Unable to handle client connection: $!\n"); 
  $client->process || next; 

  # Here's where you can write it out or just dump it. Set $filename to 
  # where you want to write it
  open(MAIL,"> $filename") || die "$filename: $1"; 
  print(MAIL "$client->{MSG}\n"); 
  close(MAIL); 
} 

यह एक बेहतर उपाय है जितना मैं सोच रहा था। धन्यवाद।
cwebber

+1 क्या एक सुंदर समाधान है, मैं एक ही सवाल पूछने वाला था।
केव

6

निम्नलिखित सब कुछ / dev / null को भेजता है:

LOCAL_RULE_0
R$* < @ $* > $*       $#local $: bit-bucket

यह मानता है कि आपके / etc / उपनामों में:

bit-bucket: /dev/null

इस प्रकार न लिखें - नियम के दो पक्षों के बीच एक TAB है।
एरिका केन

आप किस ईमेल सिस्टम का उपयोग कर रहे हैं और आप उस नियम को कहां जोड़ते हैं?
टेकनोपुल

Sendmail.org से मानक प्रेषक। नियम को sendmail.mc में जोड़ा जाता है और फिर आपके OS / वितरण की बारीकियों के अनुसार sendmail.cf का उत्पादन किया जाता है।
अडामो

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.