পোস্টফিক্স, ভার্চুয়াল এলিয়াস এবং অনির্ধারিত ঠিকানার জন্য ক্যাচল


8

পোস্টফিক্স ২.১০.২ তে স্থানীয় ব্যবহারকারীদের মেল ঠিকানা নির্ধারণের জন্য আমার একাধিক ডোমেন এবং বেশ কয়েকটি ভার্চুয়াল এলিয়াস সহ একটি সেটআপ রয়েছে। এটি যতক্ষণ না আমি একটি ক্যাচল যোগ না করি তা ঠিক কাজ করে।

ভার্চুয়াল এলিয়াসগুলি ব্যবহার করার আগে আমার সাথে একটি ক্যাচল সংজ্ঞায়িত করা হয়েছিল

local_recipient_maps =
luser_relay = catchall

তবে যেহেতু আমার বিভিন্ন ডোমেন থেকে মেল ঠিকানাগুলি বাছাই করা দরকার তাই আমাকে ভার্চুয়াল এলিয়াসগুলি ব্যবহার করতে হয়েছিল।

এখন postfix.org বলছে যে আমার এটি করা উচিত, যা আমি করেছি:

/etc/postfix/main.cf:

virtual_alias_domains = example.com
virtual_alias_maps = hash:/etc/postfix/virtual

জন্য / etc / পোস্টসাফিক্স / ভার্চুয়াল:

postmaster@example.com account1
info@example.com       account1
sales@example.com      account2
@example.com         catchall

তবে যদি আমি এটি করি, ক্যাচল ঠিকানাটি স্পষ্টভাবে সংজ্ঞায়িত ঠিকানাগুলি না করার জন্য কেবল মেলটির পরিবর্তে আমার সমস্ত মেলটি গ্র্যাবল করে। এটি কেন এবং আমি কীভাবে এটি পরিবর্তন করব?

আমি পোস্টম্যাপ ভার্চুয়াল করেছি এবং পোস্টফিক্স পুনরায় চালু করেছি। লগতে কোনও ত্রুটি নেই, এটি কেবল ক্যাচল ঠিকানায় ডেলিভারি লগ করে। এবং একটি সতর্কতা রয়েছে "দু'দিকের হাইডেস্টিনেশন এবং ভার্চুয়াল_ালিয়াস_ডমিনগুলিতে ডোমেন উদাহরণ.কম তালিকাভুক্ত করবেন না", তবে আমি তা করিনি! আমার কাছে কোনও কাল্পনিক নির্দেশনাও নেই। (নীচে কনফিগারেশনে একটি রয়েছে, তবে আমি নিক ডব্লিউ এর পরে এটির পরামর্শ দিয়েছি))

এখানে আমার সম্পূর্ণ বিশ্বাস:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot.conf -m "${EXTENSION}"
mailbox_size_limit = 0
mydestination = $myhostname
myhostname = mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/dovecot/dovecot.pem
smtpd_tls_key_file = /etc/dovecot/private/dovecot.pem
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
virtual_alias_domains = $myhostname, myotherdomain.com
virtual_alias_maps = hash:/etc/postfix/virtual

উত্তর:


4

আপনি যদি ভার্চুয়াল ওরফে সমস্ত ইমেল ঠিকানা ধরেন তবে তা কার্যকর হবে।

ইন main.cf:

 virtual_alias_maps = hash:/etc/postfix/virtual

ইন virtual:

user1@example.com           user1@example.com
user2@example.com           user2@example.com
...
catchall@example.com        catchall@example.com
@example.com                catchall@example.com

এই সমাধানটি কার্যকর করা সবচেয়ে সহজ এবং প্রত্যাশার মতো কাজ করে। ধন্যবাদ!
এডওয়ার্ডটেক

1
নোট: চূড়ান্ত sমধ্যে virtual_alias_maps
এফএমকর্জ

3

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

যা কাজ করেছে তা হ'ল:

  1. সেট করুন mydestination=localhost(এটি নয় $myhostname)
  2. ভার্চুয়াল ওরফে ফাইলের উপরে ক্যাচল যুক্ত করুন: @domain.com catchall-account@localhost
  3. নীচে অন্য সমস্ত ভার্চুয়াল উপকরণ যুক্ত করুন: contact@domain.com contact@localhost

উদাহরণটি ধরে নিয়েছে আপনার ইউনিক্স ব্যবহারকারীরা নাম দিয়েছেন catchall-accountএবং contact। যোগাযোগ@domain.com এর মেলগুলি যোগাযোগ ব্যবহারকারীকে বিতরণ করা হবে এবং অন্য সমস্ত মেল ক্যাচ-অল অ্যাকাউন্টে সরবরাহ করা হবে।

হতে পারে এটি সব ক্ষেত্রেই প্রয়োজন হয় না, তবে আমার বিশেষ ক্ষেত্রে আমি কিছু ঠিকানার জন্য মেল সংরক্ষণ করতে কোনও অ্যাকাউন্ট ব্যবহার করতে চাই, তবে সেই অ্যাকাউন্টে সরাসরি প্রেরিত মেলটি ধরা পড়ার মধ্যেই শেষ হওয়া উচিত।

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


ইন postfix.org/postconf.5.html#virtual_mailbox_maps সেখানে নিচের বাক্যটি হল: যে নেই @ domain.tld "নির্দিষ্ট ডোমেনে যেকোনো ব্যবহারকারী মেলে" একটি লুকআপ টেবিল সালে একটি বাম-দিক উল্লেখ " একটি নির্দিষ্ট "user@domain.tld" এন্ট্রি। " - আমি মনে করি এটি ভার্চুয়াল_লিয়াস_ম্যাপগুলিতে অনুরূপ, যাতে অর্ডারটি কোনও পার্থক্য না করে
ড্যানিয়েল অল্ডার

0

আপনার সেটিংস চেষ্টা করে দেখুন mydestination = $myhostnameএবং নিশ্চিত করুন যে আপনার হোস্টনামটি মেইন.সিএফ-তে কনফিগার করা আছে, উদাহরণস্বরূপ myhostname = mail.example.com,।


এটি কিছুই পরিবর্তন করেনি। সতর্কতাটি এখনও রয়েছে এবং বার্তাটি এখনও ক্যাচলে যায়।
কনজারথেল্ড

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