ইমেলটি রিলে না করে কীভাবে কোনও ফাইলের মধ্যে পোস্টফিক্স সেট আপ করব?


9

আমি স্থানীয় পরিবেশে একটি প্রোডাকশন সার্ভারের একটি স্টেজিং কপি চালাতে চাই। সিস্টেমটি একটি পিএইচপি অ্যাপ্লিকেশন চালায় যা গ্রাহকদের বিভিন্ন পরিস্থিতিতে ইমেল প্রেরণ করে এবং আমি নিশ্চিত করতে চাই যে মঞ্চের পরিবেশ থেকে কোনও ইমেল কখনও প্রেরণ করা হয়নি।

আমি কোডটি টুইঙ্ক করতে পারি যাতে এটি একটি ডামি ই-মেইল প্রেরক ব্যবহার করে তবে আমি উত্পাদন পরিবেশ হিসাবে ঠিক একই কোডটি চালাতে চাই। আমি একটি আলাদা এমটিএ ব্যবহার করতে পারি (পোস্টফিক্স আমরা উত্পাদনে যা ব্যবহার করি ঠিক তেমন) তবে আমি এমন কিছু চাই যা দেবিয়ান / উবুন্টুর অধীনে সেট আপ করা সহজ :)

সুতরাং, আমি স্থানীয় পোস্টফিক্স ইনস্টলটি রিলে না করে সমস্ত ই-মেইল (এক বা একাধিক) ফাইলগুলিতে সঞ্চয় করতে চাই। আসলে, যতক্ষণ না এটি প্রেরিত ই-মেইল যাচাই করা সম্ভব হয় ততক্ষণ এটি কীভাবে সংরক্ষণ করা যায় তা আমি সত্যিই চিন্তা করি না। এমনকি একটি সেটআপ অপশন যা পোস্টফিক্সকে মেল কাতারে ই-মেইল রাখার জন্য বলে কাজ করে (আমি যখন প্রযোজ্য কোনও অনুলিপি দিয়ে স্টেজিং সার্ভারটি পুনরায় লোড করব তখন আমি সারিটি পরিষ্কার করতে পারি)।

আমি জানি এটি সম্ভব, আমি প্রায় সাধারণ প্রয়োজন বলে মনে হয় তার জন্য অনলাইনে কোনও ভাল সমাধান আমি পাইনি।

ধন্যবাদ!

উত্তর:


12

আমি একটি পাইপ কমান্ড দিয়ে একটি নতুন পরিবহন তৈরি করেছি যা কোনও ফাইলে ই-মেইল লিখে।

মূলত:

  1. এমন একটি ব্যবহারকারী তৈরি করুন যা ইমেলটির মালিকানাধীন (বা বিদ্যমান ব্যবহার করবে)। আমি আমার ফোনemail
  2. mkdir /home/email/bin
  3. নিম্নলিখিত স্ক্রিপ্টটি এতে রাখুন /home/email/bin/mail_eater(এটি পিএইচপি ব্যবহার করে তবে আপনি নিজের পছন্দ মতো যে কোনও ভাষায় নিজের সংস্করণ লিখতে পারেন, এটি কেবল স্ট্যান্ডিনকে একটি ফাইলে সংযুক্ত করে):

    #!/usr/bin/php
    <?php
    $fd = fopen("php://stdin", "r");
    $email = "";
    while (!feof($fd)) {
        $email .= fread($fd, 1024);
    }
    fclose($fd);
    $fh = fopen('/home/email/email.txt','a');
    fwrite($fh, $email."\n-------------------------------------------------------\n\n");
    fclose($fh);
    
  4. chmod a+x /home/email/bin/mail_eater
  5. touch /home/email/email.txt
  6. chmod a+r /home/email/email.txt
  7. নিম্নলিখিত লাইনটি এতে যুক্ত করে এই ফাইলটি ব্যবহার করে একটি নতুন পরিবহন তৈরি করুন master.cf:

    file_route unix -    n    n    -    -    pipe user=email  argv=/home/email/bin/mail_eater
    
  8. এটিকে ডিফল্ট পরিবহন হিসাবে ব্যবহার করুন main.cf:

    default_transport = file_route
    

সেখানে :)


3

আপনি মধ্যে এই ডোমেনগুলির করা হতে পারে $mydestinationমধ্যে main.cf, তাই পোস্টসাফিক্স এটা স্থানীয়ভাবে প্রদান করা হবে।

আপনি চাইলে বিভিন্ন স্থানীয় ব্যবহারকারী সেট আপ করতে পারেন বা কেবল একটি অ্যাকাউন্টে ইমেল সরবরাহ করতে আপনি একটি স্থানীয় ক্যাচ-অল ঠিকানা সেটআপ করতে পারেন, আরও বিশদ এখানে: http://www.postfix.org/ADDRESS_REWRITING_README.html#luser_relay

সমস্ত ডোমেনের জন্য:

mydestination = pcre:/etc/postfix/mydestinations

এবং /etc/postfix/mydestinationsথাকা উচিত

/.*/    ACCEPT

আমি এখনই পরীক্ষা করতে পারছি না তবে এটি কাজ করা উচিত।


গন্তব্য ডোমেনগুলি দেখতে কেমন তা আমি জানি না (তারা আসল গ্রাহক ডাটাবেস থেকে আসে)। আমি যদিও লিঙ্কটি চেক করব।
গমোক্স

আপডেটের জন্য ধন্যবাদ, আমি সমস্যার নিজের সমাধানটি "ক্লিনার" বলে মনে হচ্ছে বলে পোস্ট করেছি তবে আপনার কাজটিও ভালভাবে কাজ করা উচিত বলে মনে হচ্ছে।
GomoX

ইচ্ছাকৃতভাবে কাজ করার জন্য, এটির সেটিংসও প্রয়োজন local_recipient_maps = । এটি আপনার দেওয়া লিঙ্কটিতে বর্ণিত হয়েছে, তবে আমি মনে করি এটির উত্তরেও উল্লেখ করা উচিত।
jojman

2

চেষ্টা করুন (main.cf এ):

defer_transports = smtp

তারপরে আপনি সারি দেখতে postqueue -pএবং এর সাথে সামগ্রী দেখতে পারেনpostcat


0

আপনার বিতরণের উপর নির্ভর করে আপনি "নালমেলার" এ দেখতে পারেন। এটি রিলেিং এমটিএ, যা আপনার নেটওয়ার্ক বা রিমোটের অন্য কোনও এসএমটিপির সাথে সম্পর্কিত। এটি খুব ভালভাবে একটি অবৈধ এসএমটিপি হতে পারে এবং সেক্ষেত্রে এটি সম্ভবত এটি কেবল মেশিনের কোনও ফোল্ডারে একটি সারিতে রেখে দেবে।

ডেবিয়ান এবং উবুন্টুতে এটি আপনার সিস্টেমে প্রতিস্থাপন এমটিএ হিসাবে উপলব্ধ।


0

এটি আমার ব্লগ http://blog.malowa.de/2011/04/postfix-as-spam-trap-server.html থেকে অনুলিপি করা হয়েছে এবং সামান্য পরিবর্তিত হয়েছে :

নালমেলার হিসাবে কাজ করতে আপনাকে পোস্টফিক্সটিও কনফিগার করতে হবে না। পোস্টফিক্স জাহাজগুলি একটি ঝরঝরে সরঞ্জাম সহ বলা হয় smtp-sinkযা কৌশলটি করে। এসএমটিপি-সিঙ্কটি মূলত এসএমটিপি ক্লায়েন্টদের জন্য যাচাইয়ের জন্য একটি সার্ভারের প্রয়োজন হয় এমন পরীক্ষার সরঞ্জাম হিসাবে কাজ করার উদ্দেশ্যে। সুতরাং আপনি পুরো কথোপকথনটি লগ করতে বা প্রতিটি প্রাপ্ত মেল কোনও ফাইলে ডাম্প করতে এটি কনফিগার করতে পারেন। পরেরটি নালমিলারের জন্য প্রয়োজন।

এসএমটিপি-সিঙ্ক কনফিগার করার জন্য কোনও কনফিগারেশন ফাইল নেই। কমান্ড-লাইন বিকল্পের মাধ্যমে সবকিছু করা হয়।

smtp-sink -c -d "%Y%m%d%H/%M." -f . -u postfix -R /tmp/ -B "550 5.3.0 The recipient does not like your mail. Don't try again." -h spamtrap.example.com 25 1024

আসুন প্রতিটি পরামিতি ঘনিষ্ঠভাবে তাকান।

-u postfix
Runs the program under the user "postfix"
-R /tmp/
Sets the output directory to /tmp/. In this directory the mails will be stored. If you have a high spam volume (hundreds of Spam per minute) it is recommended to write the mails to a ramdisk
-d "%Y%m%d%H/%M."
Writes the mail to a directory of the format "YearMonthDayHour" and in this directory the files are name "Month.RandomID". Note that the dates are in UTC
-c
Write statistics about connection counts and message counts to stdout while running
-f .
Reject the mail after END-OF-DATA. But the mail will be saved. Cool, isn't it?!
-B "550 5.3.0 The recipient does not like your mail. Don't try again"
This is the rejection message after END-OF-DATA.
-h spamtrap.example.com
Announce the hostname spamtrap.example.com
25
The port to listen on. Can be prepended with an IP or host if you want to bind on a special interface.
1024
The backlog count of connections that can wait in the TCP/IP stack before they get a free slot for sending mail.

আপনি এসএমটিপি-সিঙ্কের ম্যান পৃষ্ঠাতে আরও তথ্য সন্ধান করতে পারেন তবে ক্যাচ-সমস্ত স্প্যামট্র্যাপ চালানোর জন্য এগুলি গুরুত্বপূর্ণ the এই কনফিগারেশনে প্রোগ্রামটি কোনও প্রেরকের থেকে আইপিভি 4 এবং আইপিভি 6 সহ কোনও প্রাপকের কাছে কোনও আকারের কোনও মেল গ্রহণ করে। কেবলমাত্র বিধিনিষেধগুলি হ'ল 1024 সারি সংযুক্ত সংযোগের সাথে কেবল 256 একযোগে সংযোগ সম্ভব এবং প্রোগ্রামটি পরীক্ষামূলকভাবে পতাকাঙ্কিত করা হয়। সুতরাং উত্পাদনের পরিবেশে এসএমটিপি-সিঙ্ক ব্যবহার করবেন না।

-বি বিকল্পটি কেবল পোস্টফিক্সের নতুন সংস্করণগুলিতে বৈধ। 2.7.1 এ এটি অনুপস্থিত। ২.৮.২ এ এটি উপস্থিত রয়েছে। এর মাঝে কোথাও এর প্রচলন হয়েছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.