مقدمة
على Ubuntu 20.04، يمكنك استخدام أدوات مثل Postfix, Dovecot, MySQL، و SpamAssassin لتكوين خادم بريد. قد تكون هذه العملية مربكة لشخص يحاول القيام بها للمرة الأولى. يهدف هذا البرنامج التعليمي إلى تبسيط عملية تكوين خادم البريد بالنسبة لك بخطوات مفصلة. في نهاية هذا البرنامج التعليمي، ستعرف كيفية إضافة النطاقات الافتراضية والمستخدمين والأسماء المستعارة. في النهاية، ستجعل خادمك الافتراضي أكثر أمانًا من مراكز البريد العشوائي.
المتطلبات الأساسية
قبل البدء في تكوين خادم البريد، هناك بعض المتطلبات الأساسية التي يجب الاهتمام بها. أولاً، تأكد من أن خادمك الخاص الافتراضي لديه نطاق يقوم بالتوجيه إلى خادمك. تحتاج أيضًا إلى تثبيت وتكوين MySQL. بالإضافة إلى ذلك، يجب أن يكون لديك مستخدم ممتنح بصلاحيات root و تثبيت شهادة SSL. أخيرًا، تأكد من أن FQDN مكون ومحدد.
إذا قمت بتثبيت حزمك كمستخدم root، فستحصل على جميع الصلاحيات. ولهذا السبب نوصي بذلك:
|
1 |
sudo -i |
أدخل كلمة مرور المستخدم الخاص بك. في هذه المرحلة، سترى الرمز $ يتغير إلى #. بعد ذلك، دعنا نستكشف الجوانب المختلفة للتكوين واحدًا تلو الآخر.
الخطوة 1: تثبيت الحزم
سنبدأ بتعلم كيفية تثبيت الحزم:
|
1 |
apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql |
عندما تظهر نافذة تكوين Postfix، حدد Internet Site:

سيُطلب منك إدخال اسم System mail الخاص بالنظام. هنا، يمكنك استخدام FQDN أو النطاق الرئيسي:

الخطوة 2: إنشاء قاعدة بيانات MySQL، والنطاقات الافتراضية، والمستخدمين، والأسماء المستعارة
بعد ذلك، بمجرد تثبيت جميع الحزم، سننتقل إلى التكوين. هدفنا هو تكوين ثلاثة جداول. سيكون أحدها للنطاقات، والآخر للمستخدمين، والآخر للأسماء المستعارة. سيتم إيواء هذه الجداول في قاعدة بيانات MySQL التي سنقوم بإنشائها.
دعنا نقول أننا نريد تسمية قاعدة البيانات الخاصة بنا servermail. أنت حر في استخدام الاسم الذي تختاره. إليك كيفية إنشائها:
|
1 |
mysqladmin -p create servermail |
yيجب عليك تسجيل الدخول كمستخدم root لـ MySQL:
|
1 |
mysql -u root -p |
بعد ذلك، أدخل كلمة المرور الخاصة بك. ستظهر المحاولة الناجحة هذه النتيجة:
|
1 |
mysql > |
بعد ذلك، سنقوم بإنشاء مستخدم جديد لمصادقة البريد على وجه الخصوص. امنح صلاحية SELECT على النحو التالي:
|
1 |
mysql > GRANT SELECT ON servermail.* TO 'usermail'@'127.0.0.1' IDENTIFIED BY 'mailpassword'; |
بعد ذلك، قم بإعادة تحميل صلاحيات MySQL لتطبيق الأذونات بنجاح:
|
1 |
mysql > FLUSH PRIVILEGES; |
بعد ذلك، سنستخدم قاعدة البيانات الخاصة بنا لإنشاء الجداول وإدخال البيانات:
|
1 |
mysql> USE servermail; |
سنقوم بإنشاء جداول فردية للنطاقات المحددة المعترف بها كنطاقات مصرح بها:
|
1 2 3 4 5 |
CREATE TABLE `virtual_domains` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
الهدف هو إدخال المستخدمين إلى الجدول. وبالتالي، سنقوم بإضافة عنوان البريد الإلكتروني وكلمة المرور ذات الصلة. ضع في اعتبارك أنه يجب عليك ربط كل مستخدم بنطاق:
|
1 2 3 4 5 6 7 8 9 |
CREATE TABLE `virtual_users` ( `id` INT NOT NULL AUTO_INCREMENT, `domain_id` INT NOT NULL, `password` VARCHAR(106) NOT NULL, `email` VARCHAR(120) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
بعد ذلك، سنقوم بإنشاء جدول لجميع الأسماء المستعارة الافتراضية لتحديد جميع رسائل البريد الإلكتروني التي سنقوم بإعادة توجيهها إلى البريد الإلكتروني الآخر:
|
1 2 3 4 5 6 7 8 |
CREATE TABLE `virtual_aliases` ( `id` INT NOT NULL AUTO_INCREMENT, `domain_id` INT NOT NULL, `source` varchar(100) NOT NULL, `destination` varchar(100) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
بحلول نهاية هذه العملية، ستكون قد قمت بإنشاء ثلاثة جداول بنجاح. بعد ذلك، يتعين علينا إدخال البيانات.
-
النطاقات الافتراضية
في هذا القسم، سنتعلم كيفية إدخال النطاقات داخل
virtual_domains الجدول. على وجه التحديد، سنركز على كيفية إدخال النطاق الأساسي (example.com) و FQDN (hostname.example.com):
|
1 2 3 4 5 |
INSERT INTO `servermail`.`virtual_domains` (`id` ,`name`) VALUES ('1', 'example.com'), ('2', 'hostname.example.com'); |
-
رسائل البريد الإلكتروني الافتراضية
بعد ذلك، أدخل عنوان البريد الإلكتروني وكلمات المرور المرتبطة به لكل نطاق من النطاقات. تأكد من تغيير جميع المعلومات بمعلوماتك الخاصة:
|
1 2 3 4 5 |
INSERT INTO `servermail`.`virtual_users` (`id`, `domain_id`, `password` , `email`) VALUES ('1', '1', ENCRYPT('firstpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email1@example.com'), ('2', '1', ENCRYPT('secondpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email2@example.com'); |
-
الأسماء المستعارة الافتراضية
الآن يمكنك إدخال عنوان البريد الإلكتروني الذي ستقوم بإعادة توجيه عنوان البريد الإلكتروني الآخر إليه. الأول هو المصدر بينما الأخير هو الوجهة:
|
1 2 3 4 |
INSERT INTO `servermail`.`virtual_aliases` (`id`, `domain_id`, `source`, `destination`) VALUES ('1', '1', 'alias@example.com', 'email1@example.com'); |
بعد ذلك، يمكنك الخروج من MySQL:
|
1 |
mysql > exit |
الخطوة 3: تكوين Postfix
من المهم تكوين Postfix حتى يتمكن من إدارة اتصالات SMTP. يجب أن يكون قادرًا أيضًا على إرسال الرسائل لجميع المستخدمين الذين تم إدخالهم في قاعدة بيانات MySQL. لنبدأ بعمل نسخة من الملف الافتراضي. هذا حتى تتمكن من العودة بسهولة إلى التكوين الافتراضي إذا وعند الحاجة:
|
1 |
cp /etc/postfix/main.cf /etc/postfix/main.cf.orig |
الآن افتح ملف main.cf لتعديله:
|
1 |
nano /etc/postfix/main.cf |
ابدأ بتحويل معلمات TLS إلى تعليقات ثم قم بإلحاق أي معلمات أخرى. في مثالنا، نستخدم شهادات SSL المجانية. يمكنك بالطبع تغيير التكوين وفقًا لمتطلباتك:
|
1 2 3 4 5 6 7 8 9 10 11 |
# معلمات TLS #smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #smtpd_use_tls=yes #smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache #smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem smtpd_tls_key_file=/etc/ssl/private/dovecot.pem smtpd_use_tls=yes smtpd_tls_auth_only = yes |
بعد ذلك، ستقوم بإلحاق هذه المعلمات أسفل إعدادات TLS:
|
1 2 3 4 5 6 7 |
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination |
بعد ذلك، يتعين علينا وضع علامة تعليق على mydestination الإعدادات الافتراضية. بعد ذلك، سنستبدلها بـ localhost. مع هذا التغيير، سيكون خادم VPS قادرًا على استخدام النطاقات الافتراضية في جدول MySQL:
|
1 2 |
#mydestination = example.com, hostname.example.com, localhost.example.com, localhost mydestination = localhost |
الآن استخدم هذا الأمر للتحقق من أن myhostname تم تعيينها في FQDN الخاص بك:
|
1 |
myhostname = hostname.example.com |
بالإضافة إلى ذلك، قم بإلحاق هذا السطر لتنشيط تسليم البريد المحلي إلى جميع النطاقات الافتراضية المدرجة في الجدول:
|
1 |
virtual_transport = lmtp:unix:private/dovecot-lmtp |
أخيرًا، سنقوم بإضافة المعلمات التالية لإخبار Postfix بتكوين النطاقات الافتراضية والمستخدمين والأسماء المستعارة:
|
1 2 3 |
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf |
للتأكد من عدم وجود أخطاء، قارن هذه التغييرات بالملف التالي:
https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt
بمجرد التحقق من كل ذلك، ستقوم بإنشاء ثلاثة ملفات لإلحاقها في ملف main.cf. الهدف هنا هو إعطاء Postfix تعليمات حول كيفية الاتصال بـ MySQL. للقيام بذلك، سنبدأ بإنشاء ملف mysql-virtual-mailbox-domains.cf . بالطبع، في ملفك، ستقوم بإجراء التغييرات وفقًا لتكوينك الشخصي:
|
1 |
nano /etc/postfix/mysql-virtual-mailbox-domains.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT 1 FROM virtual_domains WHERE name='%s' |
بعد ذلك، أعد تشغيل Postfix:
|
1 |
service postfix restart |
يجب عليك التأكد من أن Postfix قادر على العثور على نطاقك. لاختبار ذلك، استخدم هذا الأمر:
|
1 |
postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf |
سيرجع الأمر القيمة 1 إذا كان ناجحًا. في هذه الحالة، يمكنك المتابعة بإنشاء ملف mysql-virtual-mailbox-maps.cf :
|
1 |
nano /etc/postfix/mysql-virtual-mailbox-maps.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT 1 FROM virtual_users WHERE email='%s' |
أعد تشغيل Postfix مرة أخرى:
|
1 |
service postfix restart |
مرة أخرى، سنتأكد من أن Postfix قادر على العثور على عنوان البريد الإلكتروني الأول. لاختبار ذلك، استخدم الأمر التالي:
|
1 |
postmap -q email1@example.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf |
إذا كان ناجحًا، فستحصل على مخرجات بقيمة 1 في المقابل. على هذا النحو، سننتقل لإنشاء الملف الأخير:
|
1 |
nano /etc/postfix/mysql-virtual-alias-maps.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT destination FROM virtual_aliases WHERE source='%s' |
بهذا يكتمل التكوين بين Postfix و MySQL. أعد تشغيل Postfix لتطبيق التغييرات:
|
1 |
service postfix restart |
لتأكيد أن Postfix يجد بالفعل أسماءك المستعارة، استخدم هذا الأمر:
|
1 |
postmap -q alias@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf |
من الناحية المثالية، يجب أن تتلقى البريد الإلكتروني الذي تمت إعادة توجيهه إلى الاسم المستعار كمخرج. يمكنك أيضًا تعديل ملف /etc/postfix/master.cf بهذا الشكل إذا كنت تريد توصيل المنفذ 587 مع عملاء البريد الإلكتروني بأمان:
|
1 |
nano /etc/postfix/master.cf |
إليك كيفية إلغاء تعليق أسطر معينة وإلحاق المعلمات:
|
1 2 3 4 5 |
submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject |
في بعض الأحيان، قد تحتاج إلى إعادة تشغيل Postfix للتأكد من أن المنفذ مفتوح:
|
1 |
service postfix restart |
يمكن استخدام هذه الأداة لفحص منافذ النطاق أيضًا. يمكنك استخدامها للتحقق من أن المنافذ 25 و 587 مفتوحة.
الخطوة 4: تكوين Dovecot
الآن حان الوقت لتكوين Dovecot. بالنسبة لهذا القسم، سيتعين علينا نسخ الملفات السبعة التي تريد تعديلها. هذا لضمان إمكانية التراجع إذا لزم الأمر. أدخل هذا الأمر واحدًا تلو الآخر:
|
1 2 3 4 5 6 |
cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.orig cp /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.orig cp /etc/dovecot/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext.orig cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.orig cp /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.orig |
يجب عليك تعديل ملف التكوين من Dovecot:
|
1 |
nano /etc/dovecot/dovecot.conf |
تأكد من إلغاء تعليق الخيار:
|
1 |
!include conf.d/*.conf |
بعد ذلك، سنقوم بتمكين البروتوكولات أسفل سطر
!include_try /usr/share/dovecot/protocols.d/*.protocol . إذا أردت، يمكنك أيضًا إضافة pop3:
|
1 2 |
!include_try /usr/share/dovecot/protocols.d/*.protocol protocols = imap lmtp |
لضمان عدم وجود أخطاء، قارنه بهذا الملف:
https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt
بعد ذلك، قم بتعديل ملف تأكيد البريد:
|
1 |
nano /etc/dovecot/conf.d/10-mail.conf |
حدد موقع سطر mail_location . تحتاج إلى إلغاء تعليقه وإضافة هذه المعلمة:
|
1 |
mail_location = maildir:/var/mail/vhosts/%d/%n |
بعد ذلك، حدد موقع سطر mail_privileged_group . مرة أخرى، قم بإلغاء تعليقه وإضافة معلمة البريد:
|
1 |
mail_privileged_group = mail |
للقضاء على أي احتمال لحدوث أخطاء، قارنه بهذا الملف:
https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt
-
التحقق من الأذونات
للتحقق من الأذونات، استخدم هذا الأمر:
|
1 |
ls -ld /var/mail |
تأكد من أن أذوناتك تظهر على النحو التالي:
|
1 |
drwxrwsr-x 3 root vmail 4096 Jan 24 21:23 /var/mail |
يمكنك إنشاء مجلد لكل نطاق. سيتم تسجيل كل هذه المجلدات في جدول MySQL:
|
1 |
mkdir -p /var/mail/vhosts/example.com |
قم بإنشاء مستخدم ومجموعة vmail باستخدام معرف 5000:
|
1 2 |
groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /var/mail |
بعد ذلك، يجب عليك تغيير مالك مجلد /var/mail إلى المستخدم vmail:
|
1 |
chown -R vmail:vmail /var/mail |
الآن قم بتحرير ملف /etc/dovecot/conf.d/10-auth.conf الملف:
|
1 |
nano /etc/dovecot/conf.d/10-auth.conf |
أضف السطر التالي بعد إلغاء تعليق مصادقة النص الصريح:
|
1 |
disable_plaintext_auth = yes |
استخدم هذا لتعديل معلمة auth_mechanisms المعلمة:
|
1 |
auth_mechanisms = plain login |
الآن قم بتعليق هذا السطر:
|
1 |
#!include auth-system.conf.ext |
لتمكين تفويض MySQL، يجب عليك إلغاء تعليق السطر التالي:
|
1 |
!include auth-sql.conf.ext |
لاكتشاف الأخطاء وتعديلها، استخدم الملف التالي:
https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt
إنشاء ملف /etc/dovecot/dovecot-sql.conf.ext بمعلوماتك سيسمح لك بالمصادقة:
|
1 |
nano /etc/dovecot/conf.d/auth-sql.conf.ext |
أدخل هذا الكود في الملف:
|
1 2 3 4 5 6 7 8 9 |
passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } userdb { driver = static args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n } |
سنستخدم معلومات MySQL المخصصة لدينا لتعديل ملف /etc/dovecot/dovecot-sql.conf.ext الملف:
|
1 |
nano /etc/dovecot/dovecot-sql.conf.ext |
قم بتعيين MySQL كمعلمة بعد إلغاء تعليق معلمة driver على النحو التالي:
|
1 |
driver = mysql |
يمكنك إدخال معلومات MySQL الخاصة بك عن طريق إلغاء تعليق سطر connect السطر:
|
1 |
connect = host=127.0.0.1 dbname=servermail user=usermail password=mailpassword |
الآن عليك إلغاء تعليق سطر default_pass_scheme وتغييره إلى SHA-512:
|
1 |
default_pass_scheme = SHA512-CRYPT |
أضف المعلومات التالية بعد إلغاء تعليق password_query:
|
1 |
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u'; |
لاكتشاف الأخطاء، استخدم هذا الملف للمقارنة:
https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt
بعد ذلك، يمكنك تغيير المالك والمجموعة لمجلد dovecot إلى المستخدم vmail:
|
1 2 |
chown -R vmail:dovecot /etc/dovecot chmod -R o-rwx /etc/dovecot |
الخطوة التالية هي تعديل ملف /etc/dovecot/conf.d/10-master.conf . يجب أن تكون حذرًا للغاية هنا حيث سيتم تغيير معلمات مختلفة:
|
1 |
nano /etc/dovecot/conf.d/10-master.conf |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
##إلغاء تعليق inet_listener_imap وتعديله إلى المنفذ 0 service imap-login { inet_listener imap { port = 0 } #إنشاء مقبس LMTP وهذه التكوينات service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } #inet_listener lmtp { #تجنب جعل LMTP مرئيًا للإنترنت بأكمله #address = #port = #} } |
استخدم الكود التالي لتغيير معلمة unix_listener إلى service_auth:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } unix_listener auth-userdb { mode = 0600 user = vmail #group = } #unix_listener /var/spool/postfix/private/auth { # mode = 0666 #} user = dovecot } |
بعد ذلك، عليك تحرير service auth-عامل على النحو التالي:
|
1 2 3 4 5 6 |
service auth-worker { # يتم تشغيل عملية عامل المصادقة كجذر افتراضيًا، حتى تتمكن من الوصول إلى # /etc/shadow. إذا لم يكن هذا ضروريًا، فيجب تغيير المستخدم إلى # $default_internal_user. user = vmail } |
اكتشف الأخطاء من خلال المقارنة مع هذا الملف:
https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt
الخطوة التالية هي تعديل ملف تكوين SSL من Dovecot. إذا كنت تخطط لاستخدام التأكيد الافتراضي، فيمكنك تخطي هذه الخطوة والانتقال إلى القسم التالي:
|
1 |
# nano /etc/dovecot/conf.d/10-ssl.conf |
بعد ذلك، قم بتغيير ssl إلى required على النحو التالي:
|
1 |
ssl = required |
سنقوم أيضًا بتعديل المسار لكل من ssl_cert و ssl_key:
|
1 2 |
ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem |
أعد تشغيل Dovecot:
|
1 |
service dovecot restart |
تأكد من التحقق من أن المنفذ 993 مفتوح. إذا قمت بتمكين pop3، فتحقق أيضًا من المنفذ 995:
|
1 |
telnet example.com 993 |
إذا كنت قد أكملت الخطوات حتى هذه النقطة، فتهانينا! لقد قمت بتكوين خادم البريد الخاص بك بنجاح. للتأكد من أنك قمت بجميع الخطوات بشكل صحيح، يمكنك اختبار حسابك بمساعدة عميل بريد إلكتروني مثل هذا:
|
1 2 3 4 |
- اسم المستخدم: email1@example.com - كلمة المرور: email1's كلمة المرور - IMAP: example.com - SMTP: example.com |
المنفذ 993 يُستخدم لـ IMAP الآمن والمنفذ 587/المنفذ 25 لـ SMTP.
الخطوة 5: تكوين SpamAssassin
لقد وصلنا أخيرًا إلى القسم الأخير من البرنامج التعليمي حيث سنقوم بتكوين SpamAssassin. سنبدأ بتثبيت SpamAssassin:
|
1 |
apt-get install spamassassin spamc |
قم بإنشاء مستخدم لـ SpamAssassin على النحو التالي:
|
1 |
adduser spamd --disabled-login |
yيجب عليك فتح وتعديل إعدادات التكوين لتتمكن من تكوين SpamAssassin:
|
1 |
nano /etc/default/spamassassin |
الآن بعد أن أصبحت هنا، يجب عليك تغيير ENABLED لتمكين daemon الخاص بـ SpamAssassin:
|
1 |
ENABLED=1 |
قم بتعديل معلمات home و options باستخدام هذا الكود:
|
1 2 |
SPAMD_HOME="/home/spamd/" OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${SPAMD_HOME} -s ${SPAMD_HOME}spamd.log" |
استخدم هذا السطر لتحديد المعلمة PID_File :
|
1 |
PIDFILE="${SPAMD_HOME}spamd.pid" |
بعد ذلك، استخدم هذا الأمر للإشارة إلى أنه سيتم تحديث قواعد SpamAssassin تلقائيًا:
|
1 |
CRON=1 |
تحقق من وجود أخطاء من خلال المقارنة مع المستند التالي:
https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt
إذا كنت تريد إعداد قواعد مكافحة البريد العشوائي، فيجب عليك فتح ملف /etc/spamassassin/local.cf مرة أخرى:
|
1 |
nano /etc/spamassassin/local.cf |
الطريقة التي يعمل بها SpamAssassin هي أنه يعطي درجة لكل بريد يتلقاه المستخدم. ويقوم بتقييم درجات رسائل البريد الإلكتروني وإذا كانت أكبر من 5.0 في فحص البريد العشوائي، فسيتم وضع علامة على البريد كبريد عشوائي. فيما يلي المعلمات التي يمكنك استخدامها لتكوين قواعد مكافحة البريد العشوائي هذه:
|
1 2 3 4 5 6 7 8 9 10 |
rewrite_header Subject ***** SPAM _SCORE_ ***** report_safe 0 required_score 5.0 use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 skip_rbl_checks 0 use_razor2 0 use_dcc 0 use_pyzor 0 |
بمجرد تعيين قواعد مكافحة البريد العشوائي، ستحتاج إلى إخبار Postfix بأنه يجب فحص كل بريد إلكتروني باستخدام SpamAssassin. لهذا الغرض، نحتاج إلى تعديل /etc/postfix/master.cf ملف:
|
1 |
nano /etc/postfix/master.cf |
ابحث عن السطر التالي وأضف spamassassin فلتر:
|
1 2 |
smtp inet n - - - - smtpd -o content_filter=spamassassin |
الآن يمكنك إلحاق هذه المعلمات:
|
1 2 3 |
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} |
أخيرًا، قم بتشغيل SpamAssassin وأعد تشغيل Postfix لتطبيق التغييرات. عند إعادة التشغيل، سيبدأ Postfix في التحقق من البريد العشوائي من رسائل البريد الإلكتروني:
|
1 2 |
service spamassassin start service postfix restart |
وهذا كل شيء! لقد قمت بتكوين خادم البريد الخاص بك بنجاح باستخدام Postfix و Dovecot. كما قمت أيضًا بإجراء مصادقة MySQL وإعداد تصفية البريد العشوائي باستخدام SpamAssassin.
الخاتمة
يوضح هذا البرنامج التعليمي الخطوات التي يتعين عليك اتباعها لتكوين خادم البريد الخاص بك باستخدام الأدوات المذكورة أعلاه. ويمكن استخدامه كدليل شامل لك لإعداد خادم البريد الخاص بك بشكل مستقل. إذا كنت مهتمًا بـ استخدام ميزة خادم SMTP من Google، فاتبع هذا البرنامج التعليمي.
حوسبة سعيدة!
التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.