অ্যান্ড্রয়েড

পোস্টফিক্স এবং ডোভকোট ইনস্টল এবং কনফিগার করুন

INSTAGRAM de 0 à 50K, ASTUCES & CONSEILS 2020

INSTAGRAM de 0 à 50K, ASTUCES & CONSEILS 2020

সুচিপত্র:

Anonim

এটি আমাদের মেল সার্ভার সিরিজ সেটআপ এবং কনফিগার করার দ্বিতীয় পোস্ট। এই পোস্টে আমরা আপনাকে আমাদের মেইল ​​সিস্টেমের দুটি প্রধান উপাদান পোস্টফিক্স এবং ডোভকোট ইনস্টল ও কনফিগার করার পদ্ধতি দেখাব।

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

এই টিউটোরিয়ালটি উবুন্টু 16.04-র জন্য রচিত হয়েছিল, তবে ছোট পরিবর্তনগুলির সাথে একই পদক্ষেপগুলি উবুন্টুর যে কোনও নতুন সংস্করণে কাজ করা উচিত।

পূর্বশর্ত

এই টিউটোরিয়ালটি চালিয়ে যাওয়ার আগে নিশ্চিত হয়ে নিন যে আপনি সুডো সুবিধা সহ ব্যবহারকারী হিসাবে লগ ইন করেছেন।

পোস্টফিক্স এবং ডোভকোট ইনস্টল করুন

উবুন্টু ডিফল্ট সংগ্রহস্থলের ডোভকোট প্যাকেজগুলি পুরানো। imap_sieve মডিউলটির সুবিধা নেওয়ার জন্য আমরা imap_sieve সম্প্রদায় সংগ্রহস্থল থেকে imap_sieve ইনস্টল করব।

নীচের উইজেট কমান্ডের সাহায্যে আপনার এপিস উত্সগুলিতে কীরিংয়ের জন্য সংগ্রহস্থল জিপিজি কী যুক্ত করুন:

wget -O- https://repo.dovecot.org/DOVECOT-REPO-GPG | sudo apt-key add -

নিম্নলিখিত কমান্ডটি ব্যবহার করে ডোভকোট সম্প্রদায় সংগ্রহস্থল সক্ষম করুন:

echo "deb https://repo.dovecot.org/ce-2.3-latest/ubuntu/$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/dovecot.list

sudo apt update sudo debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)" sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'" sudo debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)" sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'" sudo apt install postfix postfix-mysql dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-mysql sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'" sudo apt install postfix postfix-mysql dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-mysql

পোস্টফিক্স কনফিগারেশন

ভার্চুয়াল মেলবক্স এবং ডোমেনগুলি ব্যবহার করার জন্য আমরা পোস্টফিক্স সেটআপ করব।

sql কনফিগারেশন ফাইল তৈরি করে শুরু করুন যা এই সিরিজের প্রথম অংশে তৈরি মাইএসকিউএল ডাটাবেসটি কীভাবে অ্যাক্সেস করতে হবে তা পোস্টফিক্সকে নির্দেশ দেয়।

sudo mkdir -p /etc/postfix/sql

আপনার পাঠ্য সম্পাদকটি খুলুন এবং নিম্নলিখিত ফাইলগুলি তৈরি করুন:

/etc/postfix/sql/mysql_virtual_domains_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT domain FROM domain WHERE domain='%s' AND active = '1' /etc/postfix/sql/mysql_virtual_alias_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias WHERE address='%s' AND active = '1' /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1' /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1' /etc/postfix/sql/mysql_virtual_mailbox_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1' /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox, alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'

এসকিউএল কনফিগারেশন ফাইলগুলি তৈরি হয়ে গেলে, মাইএসকিউএল ডাটাবেসে সঞ্চিত ভার্চুয়াল ডোমেন, ব্যবহারকারী এবং উপমা সম্পর্কিত তথ্য অন্তর্ভুক্ত করতে প্রধান পোস্টফিক্স কনফিগারেশন ফাইল আপডেট করুন।

sudo postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf" sudo postconf -e "virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf" sudo postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf" পোস্টকনফ কমান্ডটি কনফিগারেশন প্যারামিটারগুলির প্রকৃত মান প্রদর্শন করে, কনফিগারেশন প্যারামিটারের মানগুলি পরিবর্তন করে বা পোস্টফিক্স মেল সিস্টেম সম্পর্কিত অন্যান্য কনফিগারেশন তথ্য প্রদর্শন করে।

স্থানীয় বিতরণ এজেন্ট ব্যবহারকারীদের মেলবক্সগুলিতে আগত ইমেলগুলি সরবরাহ করবে। ডিভকোটের এলএমটিপি পরিষেবাটি একটি ডিফল্ট মেল বিতরণ পরিবহন হিসাবে সেট করতে নিম্নলিখিত কমান্ডটি চালান:

sudo postconf -e "virtual_transport = lmtp:unix:private/dovecot-lmtp"

পূর্বে উত্পন্ন উত্সাহিত এস এস এস শংসাপত্রটি ব্যবহার করে টিএল প্যারামিটারগুলি সেট করুন:

sudo postconf -e 'smtp_tls_security_level = may' sudo postconf -e 'smtpd_tls_security_level = may' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/mail.linuxize.com/fullchain.pem' sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/mail.linuxize.com/privkey.pem'

প্রমাণীকৃত এসএমটিপি সেটিংস কনফিগার করুন এবং ডোভকোটের কাছে প্রমাণীকরণ হ্যান্ড অফ করুন:

sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth' sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_path = private/auth' sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination'

আমাদের পোস্টফিক্স মাস্টার কনফিগারেশন ফাইল মাস্টার master.cf সম্পাদনা করতে হবে এবং জমা দেওয়া পোর্ট ( 587 ) এবং এসএমটিপিএস পোর্ট ( 465 ) সক্ষম করতে হবে।

আপনার পাঠ্য সম্পাদক দিয়ে ফাইলটি খুলুন এবং নিম্নলিখিত লাইনগুলিকে অসুবিধা / সম্পাদনা করুন:

/etc/postfix/master.cf

submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated, reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated, reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING

পরিবর্তনগুলি কার্যকর হওয়ার জন্য পোস্টফিক্স পরিষেবাটি পুনরায় চালু করুন।

sudo systemctl restart postfix

এই মুহুর্তে আপনি সফলভাবে পোস্টফিক্স পরিষেবাটি কনফিগার করেছেন।

ডোভকোট কনফিগার করুন

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

Dovecot dovecot-sql.conf.ext ফাইলটি কনফিগার করে শুরু করুন যা dovecot-sql.conf.ext নির্দেশ করে যে কীভাবে ডেটাবেস অ্যাক্সেস করতে হয় এবং ইমেল অ্যাকাউন্ট সম্পর্কে তথ্য কীভাবে পাওয়া যায়।

/etc/dovecot/dovecot-sql.conf.ext

driver = mysql connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD default_pass_scheme = MD5-CRYPT iterate_query = SELECT username AS user FROM mailbox user_query = SELECT CONCAT('/var/mail/vmail/', maildir) AS home, \ CONCAT('maildir:/var/mail/vmail/', maildir) AS mail, \ 5000 AS uid, 5000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule \ FROM mailbox WHERE username = '%u' AND active = 1 password_query = SELECT username AS user, password FROM mailbox \ WHERE username = '%u' AND active='1'

সঠিক মাইএসকিউএল শংসাপত্রগুলি (ডিবি নাম, ব্যবহারকারী এবং পাসওয়ার্ড) ব্যবহার করতে ভুলবেন না।

এরপরে, conf.d/10-mail.conf ফাইলটি সম্পাদনা করুন এবং নিম্নলিখিত ভেরিয়েবলগুলি সম্পাদনা করুন:

/etc/dovecot/conf.d/10-mail.conf

… mail_location = maildir:/var/mail/vmail/%d/%n… mail_uid = vmail mail_gid = vmail… first_valid_uid = 5000 last_valid_uid = 5000… mail_privileged_group = vmail… mail_plugins = quota…

প্রমাণীকরণের কাজটি করার জন্য, conf.d/10-auth.conf , নিম্নলিখিত লাইনগুলি সম্পাদনা করুন এবং auth-sql.conf.ext ফাইল অন্তর্ভুক্ত করুন:

/etc/dovecot/conf.d/10-auth.conf

… disable_plaintext_auth = yes… auth_mechanisms = plain login… #!include auth-system.conf.ext !include auth-sql.conf.ext…

conf.d/10-master.conf ফাইলটি খুলুন এবং নীচে এটি সংশোধন করুন:

/etc/dovecot/conf.d/10-master.conf

… service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix }… }… service auth {… unix_listener auth-userdb { mode = 0600 user = vmail group = vmail }… unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }… }… service auth-worker { user = vmail }… service dict { unix_listener dict { mode = 0660 user = vmail group = vmail } }…

conf.d/10-ssl.conf খুলুন এবং এসএসএল / টিএলএস সক্ষম করুন।

/etc/dovecot/conf.d/10-ssl.conf

… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.


If you have followed this series from the beginning, you should already have the fullchain.pem , privkey.pem , dhparam.pem files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.


Thanks to Nevyn for noticing the problem and providing a solution.
… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.


If you have followed this series from the beginning, you should already have the fullchain.pem , privkey.pem , dhparam.pem files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.


Thanks to Nevyn for noticing the problem and providing a solution.

conf.d/20-imap.conf ফাইলটি খুলুন এবং imap_quota প্লাগইনটি সক্রিয় করুন:

/etc/dovecot/conf.d/20-imap.conf

… protocol imap {… mail_plugins = $mail_plugins imap_quota… }…

conf.d/20-lmtp.conf ফাইলটি খুলুন এবং নীচে এটি সম্পাদনা করুন:

/etc/dovecot/conf.d/20-lmtp.conf

… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins }…

conf.d/20-lmtp.conf ফাইলে ডিফল্ট conf.d/20-lmtp.conf করুন:

/etc/dovecot/conf.d/15-mailboxes.conf

… mailbox Drafts { special_use = \Drafts } mailbox Spam { special_use = \Junk auto = subscribe } mailbox Junk { special_use = \Junk }…

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

এখন আমাদের ডাটাবেসের সাথে সংযোগ স্থাপনের জন্য, কোটার সীমা পরিচালনা করার জন্য এবং ব্যবহারকারীর কোটা নির্দিষ্ট সীমা ছাড়িয়ে গেলে কোনও মেইল ​​প্রেরণকারী কোনও স্ক্রিপ্ট চালানোর জন্য ডোভকোটকে কনফিগার করতে হবে। এটি করার জন্য conf.d/90-quota.conf ফাইলটি খুলুন এবং নীচে এটি সংশোধন করুন:

/etc/dovecot/conf.d/90-quota.conf

plugin { quota = dict:User quota::proxy::sqlquota quota_rule = *:storage=5GB quota_rule2 = Trash:storage=+100M quota_grace = 10%% quota_exceeded_message = Quota exceeded, please contact your system administrator. quota_warning = storage=100%% quota-warning 100 %u quota_warning2 = storage=95%% quota-warning 95 %u quota_warning3 = storage=90%% quota-warning 90 %u quota_warning4 = storage=85%% quota-warning 85 %u } service quota-warning { executable = script /usr/local/bin/quota-warning.sh user = vmail unix_listener quota-warning { group = vmail mode = 0660 user = vmail } } dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }

কোটা এসকিউএল ডিকশনারি কীভাবে অ্যাক্সেস করতে হয় সে সম্পর্কে আমাদের ডোভকোটকেও বলতে হবে। dovecot-dict-sql.conf.ext ফাইলটি খুলুন এবং নিম্নলিখিত লাইনগুলি সম্পাদনা করুন:

/etc/dovecot/dovecot-dict-sql.conf.ext

… connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD… map { pattern = priv/quota/storage table = quota2 username_field = username value_field = bytes } map { pattern = priv/quota/messages table = quota2 username_field = username value_field = messages }… # map { # pattern = shared/expire/$user/$mailbox # table = expires # value_field = expire_stamp # # fields { # username = $user # mailbox = $mailbox # } # }… নিশ্চিত হয়ে নিন যে আপনি সঠিক মাইএসকিউএল শংসাপত্রগুলি (ডিবি নাম, ব্যবহারকারী এবং পাসওয়ার্ড) ব্যবহার করেছেন।

নিম্নলিখিত শেল স্ক্রিপ্ট তৈরি করুন যা এর কোটা নির্দিষ্ট সীমা ছাড়িয়ে গেলে ব্যবহারকারীকে একটি ইমেল পাঠাবে:

/usr/local/bin/quota-warning.sh

#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=dict:User quota::noenforcing:proxy::sqlquota" From: [email protected] Subject: Quota warning Your mailbox is now $PERCENT% full. EOF

নিম্নলিখিত chmod কমান্ডটি চালিয়ে স্ক্রিপ্টটিকে সম্পাদনযোগ্য করে chmod :

sudo chmod +x /usr/local/bin/quota-warning.sh

পরিবর্তনগুলি কার্যকর হওয়ার জন্য শেষ পর্যন্ত ডোভকোট পরিষেবাটি পুনরায় চালু করুন।

sudo systemctl restart dovecot

উপসংহার

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

মেল সার্ভার পোস্টফিক্স ডোভকোট

এই পোস্টটি একটি মেল সার্ভার সিরিজ সেট আপ এবং কনফিগার করার একটি অংশ।

এই সিরিজের অন্যান্য পোস্ট:

F পোস্টফিক্সএডমিনের সাথে একটি মেল সার্ভার সেটআপ করুন Post পোস্টফিক্স এবং ডোভকোট ইনস্টল করুন এবং কনফিগার করুন sp আরএসপিএএমডি ইনস্টল করুন এবং একীভূত করুন R রাউন্ডক्यूब ওয়েবমেল ইনস্টল করুন এবং কনফিগার করুন