Yadda ake Sanya Postfix da Dovecot tare da Masu amfani da Domain Virtual a Linux - Part 2
A cikin labarin da ya gabata na wannan silsilar mun bayyana yadda ake saitawa da sarrafa bayanan sabar sabar ta hanyar amfani da phpMyAdmin.
- Shigar Postfix Mail Server da Dovecot tare da MariaDB - Part 1
Yanzu lokaci ya yi da za a daidaita shirye-shiryen ciki wanda zai sa aikawa da karɓar imel ya zama gaskiya: Postfix da Dovecot (don sarrafa imel masu fita da masu shigowa, bi da bi).
Ana saita Sabar Saƙon Postfix
Kafin ka fara saita Postfix, zai dace kuma da kyau ka kalli shafukan sa na mutum anan, tare da ba da fifiko na musamman akan sashin mai taken Bayani ga sabbin masu amfani da Postfix. Idan kun yi haka, za ku sami sauƙin bi tare da wannan koyawa.
A cikin 'yan kalmomi, ya kamata ku san cewa akwai fayilolin sanyi guda biyu don Postfix:
- /etc/postfix/main.cf (Postfix sanyi sigogi, koma ga man 5 postconf don ƙarin cikakkun bayanai).
- /etc/postfix/master.cf (Postfix master daemon configuraton, duba man 5 master don ƙarin cikakkun bayanai).
A cikin /etc/postfix/main.cf
, gano (ko ƙara, idan ya cancanta) waɗannan layukan kuma a tabbata sun dace da ƙimar da aka nuna a ƙasa:
append_dot_mydomain = no biff = no config_directory = /etc/postfix dovecot_destination_recipient_limit = 1 message_size_limit = 4194304 readme_directory = no smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (CentOS) smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = yes virtual_transport = dovecot smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth
Saituna uku na gaba suna da mahimmanci na musamman. A cikin fayilolin da aka nuna a cikin rawaya za mu saita damar Postfix zuwa Domains_tbl, Users_tbl, da tebur Alias_tbl:
virtual_mailbox_domains = mysql:/etc/postfix/mariadb-vdomains.cf virtual_mailbox_maps = mysql:/etc/postfix/mariadb-vusers.cf virtual_alias_maps = mysql:/etc/postfix/mariadb-valias.cf
Lura cewa zaku iya zaɓar sunaye daban-daban a sama, muddin kun tabbatar da ƙirƙirar su kuma shigar da abubuwan ciki masu zuwa a cikinsu. A kowane hali, maye gurbin Kalmar wucewa tare da kalmar sirri da kuka zaɓa don mai amfani da dba a cikin Sashe na 1, ko kuma kuna iya amfani da tushen shaidar MariaDB don mai amfani da kalmar wucewa a ƙasa.
Hakanan, tabbatar da yin amfani da ainihin sunaye iri ɗaya na bayanan uwar garken imel da teburan da aka ƙirƙira a Sashe na 1.
A cikin /etc/postfix/mariadb-vdomains.cf
:
user = dba password = YourPassword hosts = 127.0.0.1 dbname = EmailServer_db query = SELECT 1 FROM Domains_tbl WHERE DomainName='%s'
A cikin /etc/postfix/mariadb-vusers.cf
:
user = dba password = YourPassword hosts = 127.0.0.1 dbname = EmailServer_db query = SELECT 1 FROM Users_tbl WHERE Email='%s'
A cikin /etc/postfix/mariadb-valias.cf
:
user = dba password = YourPassword hosts = 127.0.0.1 dbname = EmailServer_db query = SELECT Destination FROM Alias_tbl WHERE Source='%s'
A ƙarshe, kar a manta da canza izini zuwa waɗannan fayilolin zuwa 640:
# chmod 640 /etc/postfix/mariadb-vdomains.cf # chmod 640 /etc/postfix/mariadb-vusers.cf # chmod 640 /etc/postfix/mariadb-valias.cf
Kuma ikon mallakar tushen mai amfani da postfix na rukuni:
# chown root:postfix /etc/postfix/mariadb-vdomains.cf # chown root:postfix /etc/postfix/mariadb-vusers.cf # chown root:postfix /etc/postfix/mariadb-valias.cf
Na gaba, don kunna amintattun haɗin kai muna buƙatar tabbatar da saitunan masu zuwa ba su da wani bayani (ko ƙara, idan ya cancanta) a cikin /etc/postfix/master.cf
:
submission inet n - n - - 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_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING pickup unix n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr unix n - n 300 1 qmgr tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - n - - smtp relay unix - - n - - smtp showq unix n - n - - showq error unix - - n - - error retry unix - - n - - error discard unix - - n - - discard local unix - n n - - local #virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil scache unix - - n - 1 scache
Lura: Shiga cikin layin da ke farawa da zaɓin -o
yana da mahimmanci; in ba haka ba duban postfix zai dawo da kuskure:
Kafin ka ajiye canje-canje, ƙara layukan da ke ƙasan fayil ɗin:
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
A wannan gaba yana da mahimmanci don bincika ko Postfix yana da damar zuwa teburin bayanai da wuraren yanki, asusu, da kuma laƙabin da muka ƙirƙira a Sashe na 1.
Don yin haka, za mu yi amfani da umarnin taswirar gidan waya, mai amfani don gwada sadarwa tare da tebur Postfix zai duba yayin aiki, amma da farko muna buƙatar sake farawa postfix:
# systemctl postfix restart # postmap -q linuxnewz.com mysql:/etc/postfix/mariadb-vdomains.cf # postmap -q someotherdomain.com mysql:/etc/postfix/mariadb-vdomains.cf # postmap -q [email mysql:/etc/postfix/mariadb-vusers.cf # postmap -q [email mysql:/etc/postfix/mariadb-vusers.cf # postmap -q [email mysql:/etc/postfix/mariadb-vusers.cf # postmap -q [email mysql:/etc/postfix/mariadb-valias.cf
A cikin hoton da ke ƙasa muna iya ganin cewa don bayanan da ke akwai a cikin bayanan, an dawo da 1. In ba haka ba, babu abin da za a nuna baya ga allon. A cikin yanayin rajistar laƙabin, lura cewa ainihin asusun imel ɗin da aka yi taswira da shi ana dawo da shi:
Lura cewa ba mu ingantawa da takaddun shaida da aka saita don kowane asusun imel ba, muna gwada ƙarfin Postfix ne kawai don gano waɗannan bayanan a cikin bayanan.
Don haka, idan kun sami fitarwa daban fiye da na sama, tabbatar cewa kuna amfani da ingantacciyar mai amfani/kalmar sirri a cikin mariadb-vdomains.cf, mariadb-vusers.cf, da mariadb-valias.cf (ko duk abin da kuka zaɓa don kiran waɗannan fayilolin ).
Yana daidaita Dovecot
A matsayin uwar garken IMAP/POP3, Dovecot yana ba da hanya ga masu amfani ta hanyar Wakilin Mai Amfani da Wasiku (MUA, ko kuma aka sani da abokin ciniki), kamar Thunderbird ko Outlook, don suna wasu misalai don samun damar wasiku.
Don farawa, bari mu ƙirƙiri mai amfani da ƙungiya don sarrafa imel (za mu buƙaci wannan saboda ba a haɗa asusun imel ɗin mu da mai amfani da tsarin). Kuna iya amfani da wani UID da GID (ban da 5000 kamar yadda muke yi a ƙasa) muddin ba a amfani da shi kuma babban lamba ne:
# groupadd -g 5000 vmail # useradd -g vmail -u 5000 vmail -d /home/vmail -m
Saitunan Dovecot an raba su cikin fayilolin sanyi da yawa (tabbatar cewa layin masu zuwa ba su da wani bayani da/ko gyara su don dacewa da saitunan da aka nuna a ƙasa).
A cikin /etc/dovecot/dovecot.conf
:
!include_try /usr/share/dovecot/protocols.d/*.protocol protocols = imap pop3 lmtp !include conf.d/*.conf !include_try local.conf
A cikin /etc/dovecot/conf.d/10-auth.conf
(kawai ba da damar tantancewa ta hanyar SQL kuma a bar wasu hanyoyin tantancewa da aka yi sharhi):
disable_plaintext_auth = yes auth_mechanisms = plain login !include auth-sql.conf.ext
A cikin /etc/dovecot/conf.d/auth-sql.conf.ext
(lura cewa za mu adana imel a cikin kundin adireshi mai suna yourdomain.com cikin /home/vmail, wanda kuke buƙatar ƙirƙirar idan babu shi. A cikin yanayinmu mun yi mkdir /home/vmail/linuxnewz.com don sarrafa imel na wannan yanki):
passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } userdb { driver = static args = uid=vmail gid=vmail home=/home/vmail/%d/%n/Maildir }
Za a ƙirƙira akwatunan saƙon saƙon mutum ɗaya don asusun mai amfani lokacin da aka fara karɓar imel na irin waɗannan asusun.
A cikin /etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir:/home/vmail/%d/%n/Maildir namespace inbox { inbox = yes } mail_privileged_group = mail mbox_write_locks = fcntl
A cikin /etc/dovecot/conf.d/10-master.conf
:
service imap-login { inet_listener imap { port = 143 } inet_listener imaps { } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } } service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } unix_listener auth-userdb { mode = 0600 user = vmail } user = dovecot } service auth-worker { user = vmail } service dict { unix_listener dict { } }
A cikin /etc/dovecot/conf.d/10-ssl.conf
(maye gurbin takaddun shaida da mahimman hanyoyin idan kuna shirin yin amfani da takaddun shaida ta CA):
ssl = required ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem
A cikin /etc/dovecot/dovecot-sql.conf.ext
shigar da bayanan bayananku da takaddun shaidar mai amfani da aka ƙirƙira a Sashe na 1.
Muhimmi: idan kalmar sirri ta ƙunshi alamar alama (#)
, kuna buƙatar haɗa igiyoyin haɗin kai kamar yadda aka nuna a misalin da ke ƙasa:
driver = mysql connect = "host=127.0.0.1 dbname=EmailServer_db user=dba password=PassWith#Here" default_pass_scheme = SHA512-CRYPT password_query = SELECT Email as User, password FROM Users_tbl WHERE Email='%u';
Bugu da ƙari, za ku iya saita shiga don Dovecot ya bambanta da Postfix a cikin /etc/dovecot/conf.d/10-logging.conf
:
log_path = /var/log/dovecot.log
A ƙarshe, tabbatar cewa log ɗin Dovecot yana samun dama ga dovecot mai amfani:
# chown vmail:dovecot /var/log/dovecot.log # chmod 660 /var/log/dovecot.log
Tabbatar da Gyara Tsarin Postifix kuma Kunna SMTP, POP3, da IMAP a cikin Tacewar zaɓi
Idan kuna fuskantar kowace matsala yayin saita Postfix da/ko Dovecot, maimakon ƙaddamar da duk fayilolin sanyi don neman taimako, zaku iya samun taƙaitaccen bayani (layukan da ba a bayyana ba) tare da:
# postconf –n # Summary for /etc/postfix/main.cf # postconf –M # Summary for /etc/postfix/master.cf # doveconf –n # Summary of all configuration files for Dovecot
Bugu da ƙari, tabbatar da cewa akwatunan saƙon imel ana iya karanta su ta vmail kawai:
# chown –R vmail:vmail /home/vmail
Fayilolin tsarin ya kamata kuma a iya karanta su ta vmail da masu amfani da dovecot:
# chown -R vmail:dovecot /etc/dovecot # chmod -R o-rwx /etc/dovecot
A ƙarshe, tabbatar kun kunna SMTP, POP3, da IMAP ta hanyar Tacewar zaɓi:
# firewall-cmd --add-port=143/tcp # firewall-cmd --add-port=143/tcp --permanent # firewall-cmd --add-port=110/tcp # firewall-cmd --add-port=110/tcp --permanent # firewall-cmd --add-port=587/tcp # firewall-cmd --add-port=587/tcp --permanent
Sanya Thunderbird azaman Abokin Imel don Postfix
Samun amintaccen shiga ta hanyar bangon wuta don tashoshin jiragen ruwa da ake amfani da su a cikin sadarwar imel, lokaci yayi da za a saita abokin ciniki na imel. Amfani da [email kare da kalmar sirri mai dacewa, tare da mail.linuxnewz.com azaman IMAP (ko POP3) da sabar SMTP a shirye muke mu fara aikawa da karɓar imel zuwa kuma daga irin wannan asusun:
Kuna iya yin watsi da saƙon gargaɗin da aka nuna lafiya amintacce saboda kuna amfani da takardar shaidar da amintacciyar ƙungiya ta 3 ba ta sanya hannu ba:
Bari mu shirya taƙaitaccen imel ɗin gwaji kuma danna Aika:
Lokacin da aka sa ya karɓi takardar shedar sa hannu na uwar garken mai fita, tabbatar da shi a baya kamar da:
A ƙarshe, je zuwa imel ɗin da aka nufa don ganin ko kun karɓi imel ɗin da aka aiko kawai. Idan haka ne, amsa masa kuma duba idan an mayar da shi zuwa akwatin saƙo na imel na tushen (in ba haka ba, koma zuwa log ɗin Postfix a /var/log/maillog ko log ɗin Dovecot a /var/log/dovecot.log don bayanin matsala) :
Yanzu kuna da Postfix mai aiki da uwar garken imel na Dovecot kuma kuna iya fara aikawa da karɓar imel.
Takaitawa
A cikin wannan labarin mun bayyana yadda ake saita Postfix da Dovecot don sarrafa zirga-zirgar imel a cikin sabar Linux ɗin ku. Idan wani abu ba ya aiki kamar yadda aka nuna a cikin wannan labarin, tabbatar cewa kun ɗauki lokaci don bincika takaddun Dovecot.
Lura cewa ko da yake kafa sabar saƙon Postfix ba aiki mai sauƙi ba ne, ƙwarewa ce mai lada ga kowane mai gudanar da tsarin.
Idan bayan shiga cikin takaddun kun sami kanku har yanzu kuna fama da Postfix da/ko Dovecot, jin daɗin sauke mana bayanin kula ta amfani da fom ɗin sharhi da ke ƙasa kuma za mu yi farin cikin taimaka muku (kar ku manta da loda zuwa sabis ɗin ajiya na kan layi). Tsarin Postfix da Dovecot kamar yadda aka dawo dasu ta amfani da postconf da doveconf kamar yadda aka zayyana a cikin wannan labarin).