পোস্টফিক্সে প্রেরকের ঠিকানাটি "লগ-ইন- ব্যবহারকারীর নাম: উদাহরণস্বরূপ" হতে কীভাবে প্রয়োগ করা যায়?


15

আমি এসএমটিপি অথথ (পোর্ট 587 এ STARTTLS) দিয়ে একটি পোস্টফিক্স সার্ভার সেট আপ করেছি। আমার সমস্ত ব্যবহারকারীরা "example.org" ডোমেনে আছে। আমি প্রেরকের ঠিকানাটিকে "লগ-ইন- ইউজার@example.org" হিসাবে প্রয়োগ করতে চাই।

আমি শিখেছি যে এটি মূল সিএফ বিকল্পগুলির সাথে অর্জন করা যেতে পারে

smtpd_sender_restrictions = reject_sender_login_mismatch, ...
smtpd_sender_login_maps = hash:/etc/postfix/smtpd_sender_login_maps

একটি লগইন_ম্যাপ ফাইল সহ:

a@example.org a
b@example.org b
c@example.org c
...

( এসএমপিটি এথথের সাথে প্রেরকের ঠিকানার ফাঁকি দেওয়ার বিষয়টিও দেখুন ) তবে এর অর্থ হ'ল আমি যখনই নতুন ব্যবহারকারী থাকি তখন আমাকে লগইন_ম্যাপস ফাইলটি সম্পাদনা করতে হবে। আমার এ জাতীয় নমনীয় ম্যাপিংয়ের দরকার নেই: এটি সর্বদা "লগ-ইন- ইউজার@example.org" হওয়া উচিত। একটি সহজ বিকল্প আছে?

উত্তর:


14

প্রথমে আপনার পোস্টফিক্সের ইনস্টলেশন কমান্ডটি প্রবেশ করে postconf -mএবং এতে একটি লাইন সন্ধান করে পিসিসি সমর্থন করে কিনা তা পরীক্ষা pcreকরে দেখুন। একবার আপনি যাচাই করেছেন যে আপনার পিসিআর সমর্থন রয়েছে, আপনি নিম্নলিখিত হিসাবে করতে পারেন:

/etc/postfix/login_maps.pcre:

/^(.*)@example\.org$/   ${1}

ইন main.cf:

smtpd_sender_login_maps = pcre:/etc/postfix/login_maps.pcre

এটি ভাল কাজ করা উচিত।


এটি নিখুঁত। ঠিক আমি খুঁজছেন ছিল কি!
ক্রিস Lerher

3
উবুন্টু ব্যবহারকারীদের জন্য আপনি পোস্টফিক্স পিসিআর পেতে পারেন sudo apt-get install postfix-pcre। এটি সম্ভবত সবচেয়ে স্পষ্ট ছিল।
নীলমনডে

রেগেক্স বা রেফারেন্স $myhostnameভেরিয়েবলের ডোমেন বাদ দেওয়ার কোনও উপায় নেই ?. এখানে আপনি দেখতে পাচ্ছেন যে পোস্টফিক্স
ইমেইলটির

আমি বিশ্বাস করি আপনি '' এর পিছনে পিছনে ছোটাছুটি করতে চাইবেন। ' /^(.*)@example\.org$/: ডোমেন নামে চরিত্র তাই এটি একটি আক্ষরিক ম্যাচ হিসেবে ব্যাখ্যা করা হয়
অর্ণোন

অন্যথায়, এটি "পরীক্ষা @ উদাহরণ Xorg" পাশাপাশি "test@example.org" এর সাথে মেলে, যা হুবহু উদ্দেশ্যমূলক আচরণ নয়।
অ্যারন

6

অন্যান্য উত্তরে উল্লিখিত রেজেক্সেক্সটি ইমেল ঠিকানার ব্যবহারকারীর অংশের সাথে মেলে ( লগ ইন-ইউজার @ উদাহরণ.org)। এখানে কিছু অতিরিক্ত তথ্য দেওয়া হল।

পুরো ইমেল ঠিকানাটি ব্যবহারকারীর নাম হিসাবে ব্যবহার করতে, নিম্নলিখিত রেজিেক্স ব্যবহার করুন (উদাহরণস্বরূপ /etc/postfix/login_map)

/^(.*)$/   ${1}

এর অর্থ হ'ল আপনার ব্যবহারকারীর নামটি সর্বদা আপনার সম্পূর্ণ ইমেল ঠিকানা (লগ ইন- ইউজার @example.org ) - এই ঠিকানা থেকে অন্য কোনও বিদ্যমান ব্যবহারকারীর নাম প্রেরণের অনুমতি নেই - এবং প্রতিবার আপনাকে অতিরিক্ত পোস্টফিক্স কনফিগারেশন ফাইল আপডেট করতে হবে না একটি ব্যবহারকারী যুক্ত করুন।

এটি এমন কোনও সার্ভারে ব্যবহৃত হতে পারে যাতে একাধিক ডোমেন কনফিগার করা থাকে। ব্যবহারকারী john.doe@example.com কেবলমাত্র সেই ঠিকানা থেকে প্রেরণ অনুমোদিত তবে john.doe@example.org থেকে নয় (পৃথক ব্যবহারকারী এবং ইমেল, পৃথক ব্যক্তি)। John.doe ব্যবহারকারীর নাম এই ক্ষেত্রে অস্পষ্ট হবে।

এছাড়াও, আপনার কনফিগারেশনের উপর নির্ভর করে, smtpd_sender_login_maps সেটিং, যা এই ফাইলটিতে নির্দেশ করতে হবে, মাস্টার.cf এ থাকতে পারে (মেইন সিএফের পরিবর্তে)। সরকারী ডোভকোট ডকুমেন্টেশনের নিম্নলিখিত উদাহরণ রয়েছে (যদি আপনি এসএএসএল / জমা ব্যবহার করেন):

submission inet n - n - - smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_local_domain=$myhostname
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_sender_login_maps=hash:/etc/postfix/virtual
  -o smtpd_sender_restrictions=reject_sender_login_mismatch
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

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

থেকে:

smtpd_sender_login_maps=hash:/etc/postfix/virtual

প্রতি:

smtpd_sender_login_maps=pcre:/etc/postfix/login_map

0

আপনি এখানে শিরোনাম অনুসারে regexp এর সংমিশ্রণটি ব্যবহার করতে পারেন: http://www.akadia.com/services/postfix_uce.html ? তারপরে আপনি উদাহরণ..org থেকে কেবল প্রেরককে নিশ্চিত করতে আপনি [*@example.org] এর মতো রেজিএক্সপ্যাকের সাথে একত্রিত করতে পারেন।


ধরে নেওয়া যাক, আমি এখানে "regexp:" ব্যবহার করতে পারি (?) আমি কীভাবে এই regexp নির্দিষ্ট করতে পারি, সেই ব্যবহারকারী "a" "a@example.org" হিসাবে পাঠাতে পারে তবে "b@example.org" হিসাবে না?
ক্রিস Lerher 14

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