BackupMX
Postfix as backup MX
MX Backup - Postfix Email Server
Create public DNS entries
Remember to create an MX record with an lower priority than the primary mail server, or else this will not work!
Example:
example.com. 43200 IN MX 10 mail.example.com.
example.com. 43200 IN MX 20 backup.example.com.
# vi /etc/postfix/main.cf
myhostname = ptrentry.example.com
smtpd_banner = $myhostname ESMTP
mynetworks = 127.0.0.0/24
maximal_queue_lifetime = 30d
relay_recipient_maps =
relay_domains = hash:/etc/postfix/relaydomains
transport_maps = hash:/etc/postfix/transportmaps
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination
Time to configure the relay domains.
This is the domains that we trust, and we want to act as backup for. Add the domains you want in this file.
# vi /etc/postfix/relaydomains
example.com OK
example1.com OK
example2.com OK
# vi /etc/postfix/transportmaps
example.com smtp:mail.example.com:25
example1.com smtp:mail.example1.com:587
example2.com smtp:[192.168.10.20]:25
postmap /etc/postfix/relaydomains
postmap /etc/postfix/transportmaps
Systemctl restart postfix
--------X------------https://www.linuxbabe.com/mail-server/how-to-set-up-a-backup-email-server-postfix-ubuntu
পোস্টফিক্স ইনস্টল করার পরে, কনফিগারেশন ফাইলটি খুলুন।
vi /etc/postfix/main.cf
ডিফল্টরূপে, /etc/postfix/main.cfফাইলে নিম্নলিখিত লাইন থাকে।
smtpd_relay_restrictions = permit_mynetworks,
permit_sasl_authenticated,
defer_unauth_destination
ব্যাখ্যা:
Permit_mynetworksপোস্টফিক্সকে তার নিজস্ব নেটওয়ার্কে SMTP ক্লায়েন্টদের থেকে ইমেল রিলে করতে বলে।
Permit_sasl_authenticatedপোস্টফিক্সকে প্রমাণীকৃত SMTP ক্লায়েন্টদের থেকে ইমেল রিলে করতে বলে।
Defer_unauth_destinationপোস্টফিক্স অন্যান্য SMTP ক্লায়েন্টদের কাছ থেকে অনুরোধ প্রত্যাখ্যান করে যদি প্রাপকের ডোমেন নাম না হয় $relay_domains বা না হয় $my_destination।
আমাদের relay_domainsডোমেন নামগুলি নির্দিষ্ট করে প্যারামিটার যোগ করতে হবে, যাতে ইমেলগুলি অনলাইনে ফিরে আসার পরে প্রাথমিক ইমেল সার্ভারে রিলে করা যায়।
relay_domains = worldcm.net
আপনি যদি একাধিক ডোমেন নামের জন্য ব্যাকআপ MX হোস্ট হিসাবে এটি করতে চান তবে আপনি একাধিক ডোমেন নামও নির্দিষ্ট করতে পারেন।
relay_domains = worldcm.net, 2nd-domain.com
এটা বাঞ্ছনীয় যে আপনি myhostname এর ডিফল্ট মান পরিবর্তন করুন mx2.your-domain.com।
myhostname = mx2.worldcm.net
নিশ্চিত করুন যে এর মান mydestinationআপনার প্রধান ডোমেন নাম অন্তর্ভুক্ত করে না, অথবা আপনার ব্যাকআপ MX হোস্ট প্রাথমিক ইমেল সার্ভারে রিলে করার পরিবর্তে স্থানীয় সিস্টেমে ইমেল সরবরাহ করবে। নিম্নলিখিত মান সূক্ষ্ম.
mydestination = $myhostname, mx2.worldcm.net, localhost, localhost.localdomain, localhost
পোস্টফিক্স প্যারামিটারে নির্দিষ্ট সময়ের জন্য সারিবদ্ধ বার্তাগুলি সরবরাহ করার চেষ্টা চালিয়ে যাচ্ছে maximal_queue_lifetime, যা প্রেরকের কাছে ফিরে আসার আগে কতক্ষণ বিলম্বিত বার্তাগুলি সারিতে থাকবে তা নির্ধারণ করে। ডিফল্ট মান হল 5 দিন, নীচের কমান্ডের সাথে দেখা যাবে।
postconf -d | grep maximal_queue_lifetime
আউটপুট:
maximal_queue_lifetime = 5d
SMTP প্রোটোকল (RFC 2821) সুপারিশ করে যে SMTP সার্ভার পাঠানোর ব্যর্থ ইমেল ডেলিভারির অন্তত 4-5 দিনের মধ্যে পুনরায় চেষ্টা করা উচিত । সুতরাং আপনি যদি একটি ব্যাকআপ MX হোস্ট চালান, আপনি সম্ভবত 10 দিনের মতো সারির জীবনকাল বাড়াতে চান। ফাইলের শেষে নিম্নলিখিত লাইন যোগ করুন main.cf।
maximal_queue_lifetime = 10d
সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন। তারপর পরিবর্তনগুলি কার্যকর হওয়ার জন্য পোস্টফিক্স পুনরায় চালু করুন।
systemctl restart postfix
একটি বিলম্বিত বার্তা প্রদানের প্রচেষ্টার মধ্যে সর্বনিম্ন সময় minimal_backoff_timeপরামিতি দ্বারা নির্ধারিত হয়, যা ডিফল্টরূপে 300s (5 মিনিট)। ডেলিভারি আবার ব্যর্থ হলে, অপেক্ষার সময় বাড়ানো হয়। একটি বিলম্বিত বার্তা প্রদানের প্রচেষ্টার মধ্যে সর্বাধিক অপেক্ষার সময়টি প্যারামিটার দ্বারা নির্ধারিত হয় maximal_backoff_time, যা ডিফল্টরূপে 4000s (প্রায় 66.66 মিনিট)
নিশ্চিত করুন যে আপনার ফায়ারওয়াল টিসিপি পোর্ট 25 এর সাথে অন্তর্মুখী সংযোগের অনুমতি দেয়।
Relay Recipients
$relay_domains ডিফল্টরূপে, ব্যাকআপ MX হোস্টে পোস্টফিক্স যেকোন ঠিকানা গ্রহণ করবে যদি প্রাথমিক ইমেল সার্ভার ব্যাকআপ MX হোস্টকে বলে যে প্রাপকের ইমেল ঠিকানাটি বিদ্যমান নেই, তাহলে ব্যাকআপ MX হোস্টকে অবশ্যই মূল প্রেরকের কাছে বার্তাটি বাউন্স করতে হবে।
স্প্যামাররা প্রায়ই তৈরি করা ঠিকানাগুলিতে বার্তা পাঠায়, তাই আপনার ব্যাকআপ MX হোস্ট অপ্রয়োজনীয়ভাবে প্রচুর ইমেল গ্রহণ করবে যা অবশ্যই বাউন্স হবে৷ স্প্যামার যদি প্রেরকের ঠিকানা হিসাবে অন্য লোকের আসল ঠিকানা ব্যবহার করে, তাহলে নির্দোষ ব্যক্তি আপনার সার্ভার থেকে বাউন্স ইমেল পাবেন। কখনও কখনও তারা মনে করে যে আপনি একজন স্প্যামার।
এটি অত্যন্ত সুপারিশ করা হয় যে আপনি ব্যাকআপ MX হোস্টে বৈধ প্রাপকের ঠিকানাগুলির একটি তালিকা বজায় রাখুন৷ ফাইলে /etc/postfix/main.cf, নিম্নলিখিত লাইন যোগ করুন।
relay_recipient_maps = hash:/etc/postfix/relay_recipients
তারপর আপনি /etc/postfix/relay_recipients নিচের মত ফাইলে বৈধ প্রাপকের ঠিকানা উল্লেখ করতে পারেন।
স্পষ্টতই, ম্যানুয়ালি প্রাপকের ঠিকানা যোগ করা শুধুমাত্র ছোট ইমেল সার্ভারের জন্য কার্যকর। বড় ইমেল সার্ভারের জন্য, এটি সময় সাপেক্ষ। পরিবর্তে, আপনি MySQL/MariaDB বা LDAP ব্যবহার করে রিয়েল-টাইম লুকআপ করতে পারেন। যদি আপনার ইমেল সার্ভার ইমেল অ্যাকাউন্টের তথ্য সংরক্ষণ করতে MariaDB ব্যবহার করে, তাহলে আপনি MariaDB মাস্টার-স্লেভ রেপ্লিকেশন সেট আপ করতে পারেন , তাই ব্যাকআপ ইমেল সার্ভারের ডাটাবেসে একই ইমেল অ্যাকাউন্ট থাকবে। মনে রাখবেন যে আপনাকে প্রাথমিক ইমেল সার্ভার থেকে ব্যাকআপ হোস্টে MySQL/MariaDB লুকআপ কনফিগারেশন অনুলিপি করতে হবে /etc/postfix/main.cf file, তাই ব্যাকআপ হোস্ট জানে কিভাবে ডাটাবেস অনুসন্ধান করতে হয়।
একবার আপনি relay_recipient_maps প্যারামিটার সেট করলে, আপনাকে অবশ্যই ব্যাকআপ পরিষেবা প্রদানকারী সমস্ত ডোমেনের জন্য ইমেল ঠিকানা অন্তর্ভুক্ত করতে হবে। আপনি যদি একটি ডোমেনের জন্য সমস্ত বৈধ ইমেল ঠিকানা না জানেন তবে আপনি নীচের মত একটি ওয়াইল্ডকার্ড এন্ট্রি ব্যবহার করতে পারেন৷
@2nd-domain.com OK
শেষ এন্ট্রি হল একটি ওয়াইল্ডকার্ড এন্ট্রি যা দ্বিতীয় ডোমেনের যেকোনো ইমেল ঠিকানার অনুমতি দেয়। সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন। তারপর relay_recipients.dbফাইল তৈরি করুন।
postmap /etc/postfix/relay_recipients
Postfix Configuration on backup2.com:
/etc/postfix/main.cf:
relay_domains = $mydestination the.backed-up.domain.name
smtpd_recipient_restrictions = permit_mynetworks
check_relay_domain
Require valid users
As things stand, any email submitted to your backup server addressed to a domain in relay_domains will be accepted, and the backup server will attempt to deliver it to the primary server. This is open to abuse by bots that send email to many addresses at once that may not exist (foo@yourdomain.com) causing the mail queue on the backup MX to fill up, and resources to be wasted on both your backup and primary mail servers as repeated connection attempts are made. The solution to the problem is to provide the backup with a list of valid users on the main server, so that it can reject email to addresses that don't exist. This parameter specifies the file to use:
relay_recipient_maps = hash:/etc/postfix/relay_recipients
You can then create the file:
vi /etc/postfix/relay_recipients
... and populate it like this with any addresses you want to enable forwarding for:
you@yourdomain.com OK
root@yourdomain.com OK
webmaster@yourdomain.com OK
postmaster@yourdomain.com OK
Then use the postmap command to create a database out of the file:
postmap /etc/postfix/relay_recipients