<?xml version="1.0"?>
<rss version="2.0"><channel><title>DevOps: &#x627;&#x644;&#x628;&#x631;&#x64A;&#x62F; &#x627;&#x644;&#x625;&#x644;&#x643;&#x62A;&#x631;&#x648;&#x646;&#x64A;</title><link>https://academy.hsoub.com/devops/servers/mail/?d=4</link><description>DevOps: &#x627;&#x644;&#x628;&#x631;&#x64A;&#x62F; &#x627;&#x644;&#x625;&#x644;&#x643;&#x62A;&#x631;&#x648;&#x646;&#x64A;</description><language>ar</language><item><title>&#x643;&#x64A;&#x641; &#x62A;&#x633;&#x62A;&#x62E;&#x62F;&#x645; Gmail &#x623;&#x648; Yahoo &#x645;&#x639; &#x62F;&#x627;&#x644;&#x651;&#x629; mail() &#x641;&#x64A; &#x644;&#x63A;&#x629; PHP</title><link>https://academy.hsoub.com/devops/servers/mail/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-gmail-%D8%A3%D9%88-yahoo-%D9%85%D8%B9-%D8%AF%D8%A7%D9%84%D9%91%D8%A9-mail-%D9%81%D9%8A-%D9%84%D8%BA%D8%A9-php-r290/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2016_12/php-mail.png.686b6e1c5c3562f0516acce09fdd603f.png" /></p>

<p>
	في هذا الدرس ستحتاج بعض الأمثلة للتعديل بما يتوافق مع حالتك لتعمل بشكل صحيح (مثل كلمات السّر)، أمّا الباقي فمعظمه سيكون قابلاً للنسخ واللصق.
</p>

<h2 id="حول-دالة-mail-في-لغة-php">
	حول دالّة mail() في لغة PHP
</h2>

<p>
	تَستخدِم دالّة <a href="http://php.net/manual/en/function.mail.php" rel="external nofollow">mail()</a> البرنامج الموجود في مسار <code>sendmail_path</code> لإرسال رسائل البريد الإلكتروني. وهذا معدٌّ كـَ<a href="http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path" rel="external nofollow">sendmail</a> بشكلٍ افتراضي.<br>
	ومع أن معظم تنصيبات نظام Linux تملك <code>sendmail</code> مثبتة بشكل مسبق، فإنّك ستواجه بعض الصعوبات في إعداد تسجيلات <code>SPF/PTR</code> وتوليد مفاتيح <code>DKIM</code> وبعض الأمور الأخرى حتى تتأكد بأن رسالة البريد المرسلة بواسطة سكربت الـPHP لن يتم تعليمه كرسالة بريدٍ ضارة (spam). يمكن استخدام بروتوكول <code>MSMTP</code> - وهو أحد عملاء <code>SMTP</code> - لإرسال رسائل البريد باستخدام خوادم <code>SMTP</code> من طرف ثالث، ويمكن استخدام ذلك في دالّة <code>mail()</code> عوضاً عن <code>sendmail</code>.
</p>

<p style="text-align: center;">
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="20531" data-unique="8hb14jpwf" src="https://academy.hsoub.com/uploads/monthly_2016_12/php-mail.png.7fefc1acc1511f6e82902d1802590f48.png" style="" alt="php-mail.png"></p>

<h2 id="التثبيت">
	التثبيت
</h2>

<p>
	لتثبيت برتوكول <code>MSMTP</code> على نظام Fedora Linux استخدم <code>yum</code> كالاتي:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_7">
<span class="pln">yum install msmtp</span></pre>

<p>
	وبما أن مستودع CentOs  لا يحتوي على حزمة <code>RPM</code> لـ<code>MSMTP</code> ، فإننا سنحتاج الى تنصيبها من المصدر:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_9">
<span class="pln">yum install make gcc pkgconfig
wget http</span><span class="pun">:</span><span class="com">//sourceforge.net/projects/msmtp/files/msmtp/1.4.31/msmtp-1.4.31.tar.bz2/download</span><span class="pln">
tar </span><span class="pun">-</span><span class="pln">xvf msmtp</span><span class="pun">-</span><span class="lit">1.4</span><span class="pun">.</span><span class="lit">31.tar</span><span class="pun">.</span><span class="pln">bz2
cd msmtp</span><span class="pun">-</span><span class="lit">1.4</span><span class="pun">.</span><span class="lit">31</span><span class="pln">
</span><span class="pun">./</span><span class="pln">configure
make
make install</span></pre>

<p>
	في وقت كتابة هذا المقال فإن آخر إصدار متوفر هو 1.4.31، ولكن قد تتوفر إصدارات أخرى في المستقبل، وللحصول عليها قم بزيارة هذه <a href="http://sourceforge.net/projects/msmtp/files/msmtp/" rel="external nofollow">الصفحة</a>.<br>
	على توزيعة Ubuntu/Debian استخدم <code>apt-get</code> :
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_11">
<span class="pln">apt</span><span class="pun">-</span><span class="pln">get install msmtp</span></pre>

<p>
	ولمستخدمي Arch Linux :
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_13">
<span class="pln">sudo pacman </span><span class="pun">-</span><span class="pln">S msmtp</span></pre>

<h2 id="إعداد-بروتوكول-msmtp">
	إعداد بروتوكول MSMTP
</h2>

<p>
	إن ملف الإعدادات الخاص ببروتوكول <code>MSMTP</code> محفوظ في <code>~/.msmtprc</code> لكل مستخدم، وملف الإعدادات الشامل للنظام هو <code>/etc/msmtprc</code>.<br>
	قم الآن بفتح ملف الإعدادات في دليلك (directory):
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_15">
<span class="pln">vi </span><span class="pun">~/.</span><span class="pln">msmtprc</span></pre>

<p>
	قم بإضافة هذه الأسطر إلى حساب Yahoo:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_17">
<span class="pln">account yahoo
<abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">tls</abbr> on
tls_starttls off
tls_certcheck off
auth on
host smtp</span><span class="pun">.</span><span class="pln">mail</span><span class="pun">.</span><span class="pln">yahoo</span><span class="pun">.</span><span class="pln">com
user user1
from user1@yahoo</span><span class="pun">.</span><span class="pln">com
password yourYahooPa5sw0rd</span></pre>

<p>
	وبالنسبة للـGmail استخدم الإعدادات التالية:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_19">
<span class="pln">account gmail
<abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">tls</abbr> on
tls_certcheck off
auth on
host smtp</span><span class="pun">.</span><span class="pln">gmail</span><span class="pun">.</span><span class="pln">com
port </span><span class="lit">587</span><span class="pln">
user user1@gmail</span><span class="pun">.</span><span class="pln">com
from user1@gmail</span><span class="pun">.</span><span class="pln">com
password yourgmailPassw0rd</span></pre>

<p>
	يمكن أن يحتوي هذا الملف على أكثر من حساب، فقط تأكد بأن تكون قيمة <code>account</code> لكل قسم مختلفة عن الأخرى. قم بحفظ الملف واستعمل <code>chmod</code> لجعل هذا الملف قابلاً للقراءة فقط من قبل المالك لأنه يحتوي على كلمات مرور. الخطوة التالية تعد إجبارية لأن بروتوكول <code>msmtp</code> لن يعمل إذا كانت الصلاحيات أكثر من 600.
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_21">
<span class="pln">chmod </span><span class="lit">600</span><span class="pln"> </span><span class="pun">~/.</span><span class="pln">msmtprc</span></pre>

<p>
	قبل تنفيذ ذلك في PHP، تحقق باستخدام سطر الأوامر لتتأكد أن كل شيء يعمل بشكل سليم. للقيام بذلك، قم بإنشاء ملفٍ نصيٍّ عادي وضع فيه النص الآتي (النص عبارة عن رسالة بريد قصيرة):
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_23">
<span class="pln">echo </span><span class="pun">-</span><span class="pln">e </span><span class="str">"</span><span class="typ">From</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Alice</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">alice@example</span><span class="pun">.</span><span class="pln">com</span><span class="pun">&gt;</span><span class="pln"> \n\
</span><span class="typ">To</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Bob</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">bob@domain</span><span class="pun">.</span><span class="pln">com</span><span class="pun">&gt;</span><span class="pln"> \n\
</span><span class="typ">Subject</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Hello</span><span class="pln"> </span><span class="typ">World</span><span class="pln"> \n\
\n\
</span><span class="typ">This</span><span class="pln"> email was sent </span><span class="kwd">using</span><span class="pln"> MSMTP via </span><span class="typ">Gmail</span><span class="pun">/</span><span class="typ">Yahoo</span><span class="pun">.</span><span class="str">" &gt;&gt; sample_email.txt</span></pre>

<p>
	قم الآن بإرسال البريد:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_25">
<span class="pln">cat sample_email</span><span class="pun">.</span><span class="pln">txt </span><span class="pun">|</span><span class="pln"> msmtp </span><span class="pun">--</span><span class="pln">debug </span><span class="pun">-</span><span class="pln">a gmail bob@domain</span><span class="pun">.</span><span class="pln">com</span></pre>

<p>
	استبدل كلمة <code>gmail</code> بكلمة <code>yahoo</code> أو ما قمت بإدخاله مسبقاً في خيار <code>account</code>. سوف ترى العديد من الرسائل بسبب المعطى <code>--debug</code>. يُستخدَم هذا لجعل اكتشاف وتصحيح الأخطاء أمراً سهلاً إذا لم تعمل الأمور كما يجب.<br>
	إذا تلقّى <code>bob@domain.com</code> هذا البريد فإن كل شيء قد تم تنصيبه بشكل صحيح. لذلك قم بنسخ هذا الملف إلى مُجلّد <code>/etc</code> باستخدام السطر التالي:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_27">
<span class="pln">cp </span><span class="pun">-</span><span class="pln">p </span><span class="pun">~/.</span><span class="pln">msmtprc </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/.</span><span class="pln">msmtp_php</span></pre>

<p>
	قم بتغيير الملكية إلى اسم المستخدم الذي يعمل الخادوم تحته. قد يكون ذلك <code>apache</code>، <code>www-data</code> أو <code>nobody</code> اعتماداً على توزيعة الـLinux الموجودة في الخادوم الإفتراضي الخاص بك (VPS) وعلى خادوم الويب المثبت:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_29">
<span class="pln">chown www</span><span class="pun">-</span><span class="pln">data</span><span class="pun">:</span><span class="pln">www</span><span class="pun">-</span><span class="pln">data </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/.</span><span class="pln">msmtp_php</span></pre>

<h2 id="إعداد-وتهيئة-php">
	إعداد وتهيئة PHP
</h2>

<p>
	افتح ملف <code>php.ini</code> والذي قد يختلف مكان وجوده باختلاف نظام التشغيل (OS) ونوع PHP المثبت (مثل <code>PHP CGI</code>، <code>mod_php</code>، <code>PHP-FPM</code> …الخ):
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_31">
<span class="pln">vi </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">php5</span><span class="pun">/</span><span class="pln">php</span><span class="pun">.</span><span class="pln">ini</span></pre>

<p>
	ابحث عن السطر الاتي:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_33">
<span class="pln">sendmail_path </span><span class="pun">=</span></pre>

<p>
	وعندما تجده قم بتعديله عن طريق إضافة المسار الخاص بأمر <code>msmtp</code> ليصبح كما يلي:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_35">
<span class="pln">sendmail_path </span><span class="pun">=</span><span class="pln"> </span><span class="str">"/usr/bin/msmtp -C /etc/.msmtp_php --logfile /var/log/msmtp.log -a gmail -t"</span></pre>

<p>
	يدوياً، أنشىء ملف سجل (log file) وقم بتغيير ملكيته (ownership) الى اسم المستخدم الذي يعمل به خادوم الويب:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_37">
<span class="pln">touch </span><span class="pun">/</span><span class="pln">var</span><span class="pun">/</span><span class="pln">log</span><span class="pun">/</span><span class="pln">msmtp</span><span class="pun">.</span><span class="pln">log
chown www</span><span class="pun">-</span><span class="pln">data</span><span class="pun">:</span><span class="pln">www</span><span class="pun">-</span><span class="pln">data </span><span class="pun">/</span><span class="pln">var</span><span class="pun">/</span><span class="pln">log</span><span class="pun">/</span><span class="pln">msmtp</span><span class="pun">.</span><span class="pln">log</span></pre>

<p>
	أعد تشغيل خادوم الويب لتطبيق التغييرات:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_39">
<span class="pln">service httpd restart</span></pre>

<p>
	في نظام Arch Linux يتم ذلك باستخدام الأمر <code>systemctl</code>:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_41">
<span class="pln">systemctl restart httpd</span></pre>

<p>
	اعتماداً على نظام التشغيل وخادوم الويب قم باستبدال <code>httpd</code> بالاسم المناسب. إذا كانت <code>PHP</code> تعمل كعملية منفصلة (مثل <code>PHP-FPM</code>) قم بإعادة تشغيله عوضاً عن ذلك:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_43">
<span class="pln">service php5</span><span class="pun">-</span><span class="pln">fpm restart</span></pre>

<p>
	ولإختبار هذه التنصيبة، قم بإنشاء سكربت PHP مع دالّة <code>mail()</code> بسيطة:
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted" id="ips_uid_9211_45">
<span class="pun">&lt;?</span><span class="pln">php
</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">mail</span><span class="pun">(</span><span class="str">"receipient@domain.com"</span><span class="pun">,</span><span class="str">"A Subject Here"</span><span class="pun">,</span><span class="str">"Hi there,\nThis email was sent using PHP's mail function."</span><span class="pun">))</span><span class="pln">
</span><span class="kwd">print</span><span class="pln"> </span><span class="str">"Email successfully sent"</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">else</span><span class="pln">
</span><span class="kwd">print</span><span class="pln"> </span><span class="str">"An error occured"</span><span class="pun">;</span><span class="pln">
</span><span class="pun">?&gt;</span></pre>

<p>
	قم بالدخول إلى هذا الملف باستخدام إحدى المتصفحات:<br><a href="http://www.example.com/file.php" rel="external nofollow">http://www.example.com/file.php</a><br>
	اذا لم يتم إرسال البريد فيمكنك التحقق من وجود أي أخطاء عبر سجل <code>msmtp</code>:
</p>

<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_47">
<span class="pln">tail </span><span class="pun">/</span><span class="pln">var</span><span class="pun">/</span><span class="pln">log</span><span class="pun">/</span><span class="pln">msmtp</span><span class="pun">.</span><span class="pln">log</span></pre>

<h2 id="أخطاء-شائعة">
	أخطاء شائعة
</h2>

<p>
	اذا لم يتم إرسال البريد عند استخدام سكربت PHP، فعليك التحقق مما يلي:
</p>

<ol>
<li>
		تحقق من أنك قد قمت بالتعديل على ملف <code>php.ini</code> الصحيح. يمكن التأكد والتحقق من ذلك عن طريق إنشاء ملف <code>phpinfo()</code>; والتأكد من قسم <code>Loaded Configuration File</code>.
	</li>
	<li>
		قد يكون المسار الى ملف إعدادات <code>msmtp</code> خاطئًا أو أن الخادوم لا يملك الصلاحية لقراءة هذا الملف.
	</li>
	<li>
		تحقق اذا ما تم إرسال أي بريد وذلك عن طريق تشغيل السكربت باستخدام سطر أوامر PHP:
	</li>
</ol>
<pre>
 </pre>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_9211_49">
<span class="pln">php </span><span class="pun">/</span><span class="pln">var</span><span class="pun">/</span><span class="pln">www</span><span class="pun">/</span><span class="pln">html</span><span class="pun">/</span><span class="pln">file</span><span class="pun">.</span><span class="pln">php</span></pre>

<p>
	ترجمة -وبتصرّف- للمقال <a href="https://www.digitalocean.com/community/tutorials/how-to-use-gmail-or-yahoo-with-php-mail-function" rel="external nofollow">How To Use Gmail or Yahoo with PHP mail()</a> Function لصاحبه Jesin A
</p>
]]></description><guid isPermaLink="false">290</guid><pubDate>Tue, 27 Dec 2016 06:48:00 +0000</pubDate></item><item><title>&#x643;&#x64A;&#x641; &#x62A;&#x633;&#x62A;&#x62E;&#x62F;&#x645; Spamassassin &#x648;ClamAV &#x639;&#x644;&#x649; &#x62E;&#x627;&#x62F;&#x648;&#x645; &#x623;&#x648;&#x628;&#x646;&#x62A;&#x648; &#x644;&#x62A;&#x631;&#x634;&#x64A;&#x62D; &#x627;&#x644;&#x628;&#x631;&#x64A;&#x62F; &#x627;&#x644;&#x625;&#x644;&#x643;&#x62A;&#x631;&#x648;&#x646;&#x64A; &#x648;&#x627;&#x643;&#x62A;&#x634;&#x627;&#x641; &#x627;&#x644;&#x631;&#x633;&#x627;&#x626;&#x644; &#x627;&#x644;&#x645;&#x632;&#x639;&#x62C;&#x629;</title><link>https://academy.hsoub.com/devops/servers/mail/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-spamassassin-%D9%88clamav-%D8%B9%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%88%D9%85-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-%D9%84%D8%AA%D8%B1%D8%B4%D9%8A%D8%AD-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-%D9%88%D8%A7%D9%83%D8%AA%D8%B4%D8%A7%D9%81-%D8%A7%D9%84%D8%B1%D8%B3%D8%A7%D8%A6%D9%84-%D8%A7%D9%84%D9%85%D8%B2%D8%B9%D8%AC%D8%A9-r207/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2016_02/ubuntu-server-email-spam-spamassassin-clamav.png.7af2d138b8e0c13c72a1579be82a21cd.png" /></p>

<p dir="rtl">
	واحدة من أكبر المشاكل مع البريد الإلكتروني اليوم هي مشكلة البريد غير المرغوب فيه (Unsolicited Bulk Email أو اختصارًا UBE) المعروف أيضًا بالبريد العشوائي (SPAM)؛ قد تحتوي هذه الرسائل أيضًا على فيروسات أو أشكالٍ أخرى من البرمجيات الخبيثة؛ ووفقًا لبعض التقارير، تشغل هذه الرسائل حيزًا كبيرًا من البريد الإلكتروني المُرسَل عبر الإنترنت.
</p>

<p style="text-align: center;">
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="12479" data-unique="ntbk0fv5w" src="https://academy.hsoub.com/uploads/monthly_2016_02/ubuntu-server-email-spam-spamassassin-clamav.png.8d76652259e98afe70852f8d645925df.png" alt="ubuntu-server-email-spam-spamassassin-cl"></p>

<p dir="rtl">
	سيشرح هذا القسم طريقة دمج Amavisd-new، و Spamassassin، و ClamAV مع عميل نقل البريد Postfix؛ يمكن أيضًا التحقق من البريد عبر تمريره خلال مرشحات خارجية؛ هذه المرشحات يمكنها في بعض الأحيان تحديد إذا ما كانت الرسالةُ عشوائيةً دون الحاجة إلى معالجتها ببرمجيات تستهلك الموارد؛ أشهر هذه المرشحات هي opendkim و python-policyd-spf.
</p>

<ol dir="rtl"><li>
		<strong>Amavisd-new</strong> هو برنامج مُغلِّف (wrapper) يستطيع استدعاء أي عدد من برامج ترشيح المحتوى لاستكشاف الرسائل العشوائية، وللتصدي للفيروسات ...إلخ.
	</li>
	<li>
		يستخدم <strong>Spamassassin</strong> آلياتٍ عدِّة لترشيح البريد اعتمادًا على محتوى الرسالة.
	</li>
	<li>
		<strong>ClamAV</strong> هو مضاد فيروسات مفتوح المصدر.
	</li>
	<li>
		يوفر <strong>opendkim</strong> ما يسمىMilter (أي Sendmail Mail Filter) إلى المعيار القياسي DKIM (أي DomainKeys Identified Mail).
	</li>
	<li>
		يُفعِّل <strong>python-policyd-spf </strong>تحقق SPF (اختصار للعبارة Sender Policy Framework) مع Postfix.
	</li>
</ol><p dir="rtl">
	هذه هي آلية جمع القطع السابقة:
</p>

<ol dir="rtl"><li>
		تُقبَل رسالة البريد الإلكتروني من Postfix.
	</li>
	<li>
		تُمرَّر الرسالة إلى أي مرشحات خارجية مثل opendkim و python-policyd-spf في هذه الحالة.
	</li>
	<li>
		ثم يُعالِج Amavisd-new الرسالة.
	</li>
	<li>
		ثم يُستخدَم ClamAV لفحص الرسالة؛ إذا حوت الرسالة على فيروس، فسيرفضها Postfix.
	</li>
	<li>
		ستُحلَّل الرسائل «النظيفة» من Spamassassin للتحقق إذا كانت الرسالة هي رسالة عشوائية؛ ثم يضيف Spamassassin أسطر X-Header ليسمح للبرمجية Amavisd-new بإكمال معالجة الرسالة.
	</li>
</ol><p dir="rtl">
	على سبيل المثال، إذا كان «رصيد العشوائية» لرسالة ما أكبر من خمسين بالمئة، فيمكن أن تُزال الرسالة تلقائيًا من الطابور (queue) حتى دون إعلام المتلقي؛ طريقة أخرى للتعامل مع هذه الرسائل هي إيصالهم لعميل مستخدم البريد (MUA) والسماح للمستخدم بأن يتعامل مع الرسالة بما يراه مناسبًا.
</p>

<h2 dir="rtl">
	التثبيت
</h2>

<p dir="rtl">
	راجع <a href="https://academy.hsoub.com/devops/servers/%D8%AA%D9%86%D8%B5%D9%8A%D8%A8-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%AF%D9%85%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-postfix-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r203/">درس Postfix</a> لمعلوماتٍ تفصيلية عن تثبيت Postfix.
</p>

<p dir="rtl">
	أدخل الأمرين الآتيين في سطر الأوامر لتثبيت بقية البرمجيات:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2307_7">
<span class="pln">sudo apt-get install amavisd-new spamassassin clamav-daemon
sudo apt-get install opendkim postfix-policyd-spf-python</span></pre>

<p dir="rtl">
	هنالك بعض الحزم الأخرى التي يمكن أن تُدمَج مع Spamassassin لاكتشاف أفضل للرسائل العشوائية:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2307_9">
<span class="pln">sudo apt-get install pyzor razor</span></pre>

<p dir="rtl">
	بالإضافة إلى برمجيات الترشيح الرئيسية، سنحتاج إلى أدوات الضغط لنعالج بعض مرفقات البريد:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2307_11">
<span class="pln">sudo apt-get install arj cabextract cpio lha nomarch pax rar unrar unzip zip</span></pre>

<p dir="rtl">
	<strong>ملاحظة</strong>: إذا لم يُعثَر على بعض الحزم السابقة، فتأكد من تفعيل مستودع multiverse في ملف <span style="font-family:courier new,courier,monospace;">‎/etc/apt/sources.list</span>.
</p>

<p dir="rtl">
	إذا أجريتَ تعديلاتٍ على ذاك الملف، فتأكد من تحديث فهرس الحزم بتنفيذ الأمر <span style="font-family:courier new,courier,monospace;">sudo apt-get update</span> قبل محاولة التثبيت مرةً أخرى.
</p>

<h2 dir="rtl">
	الضبط
</h2>

<p dir="rtl">
	علينا الآن ضبط كل شيء مع بعضه بعضًا لترشيح البريد.
</p>

<h3 dir="rtl">
	ClamAV
</h3>

<p dir="rtl">
	السلوك الافتراضي لبرمجية ClamAV تناسب احتياجاتنا؛ للمزيد من خيارات الضبط الخاصة ببرمجية ClamAV، راجع ملفات الضبط في ‎<span style="font-family:courier new,courier,monospace;">/etc/clamav</span>.
</p>

<p dir="rtl">
	أضف المستخدم clamav إلى المجموعة amavis لكي يملك Amavisd-new الوصول الملائم لتفحص الملفات:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2307_13">
<span class="pln">sudo adduser clamav amavis
sudo adduser amavis clamav</span></pre>

<h3 dir="rtl">
	Spamassassin
</h3>

<p dir="rtl">
	يعثر Spamassassin تلقائيًا على المكونات الإضافية ويستخدمها إن توفرت؛ هذا يعني أنه لا حاجة لضبط pyzor و razor.
</p>

<p dir="rtl">
	عدِّل ملف الضبط ‎<span style="font-family:courier new,courier,monospace;">/etc/default/spamassassin</span> لتفعيل عفريت Spamassassin، عدِّل قيمة<span style="font-family:courier new,courier,monospace;"> ENABLED=0</span> إلى:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2307_15">
<span class="pln">ENABLED=1</span></pre>

<p dir="rtl">
	ثم ابدأ تشغيل العفريت:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2307_17">
<span class="pln">sudo service spamassassin start</span></pre>

<h3 dir="rtl">
	Amavisd-new
</h3>

<p dir="rtl">
	أولًا، فعِّل استكشاف الرسائل العشوائية ومضاد الفيروسات في Amavisd-new بتعديل الملف <span style="font-family:courier new,courier,monospace;">‎/etc/amavis‎/conf.d/15-content_filter_mode</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2307_19">
<span class="pln">use strict;

# You can modify this file to re-enable SPAM checking through spamassassin
# and to re-enable antivirus checking.

#
# Default antivirus checking mode
# Uncomment the two lines below to enable it
#

@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

#
# Default SPAM checking mode
# Uncomment the two lines below to enable it
#

@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

1; # insure a defined return</span></pre>

<p dir="rtl">
	قد تكون إعادة معالجة الرسائل العشوائية فكرةً سيئةً لأن العنوان المُعاد مزيفٌ غالبًا؛ ربما ترغب بتعديل الملف ‎<span style="font-family:courier new,courier,monospace;">/etc/amavis/conf.d/20-debian_defaults</span> لتضبط ‎<span style="font-family:courier new,courier,monospace;">$final_spam_destiny</span> إلى <span style="font-family:courier new,courier,monospace;">D_DISCARD</span> بدلًا من<span style="font-family:courier new,courier,monospace;"> D_BOUNCE</span>، كما يلي:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_2307_21">
<span class="pln">$final_spam_destiny = D_DISCARD;</span></pre>

<p dir="rtl">
	وربما ترغب بتعديل قيمة الخيارات الآتية لتعليم (flag) المزيد من الرسائل كرسائل عشوائية:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_9">
<span class="pln">$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.0; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 21.0; # triggers spam evasive actions
$sa_dsn_cutoff_level = 4; # spam level beyond which a DSN is not sent</span></pre>

<p dir="rtl">
	إذا كان اسم المضيف للخادوم (hostname) مختلفًا عن سجل MX للنطاق، فربما تحتاج إلى أن تضبط الخيار <span style="font-family:courier new,courier,monospace;">‎$myhostname</span> يدويًا؛ وإذا كان الخادوم يستلم البريد لأكثر من نطاق، فيجب تخصيص الخيار<span style="font-family:courier new,courier,monospace;"> ‎@local_domains_acl</span> أيضًا، وذلك بتعديل الملف <span style="font-family:courier new,courier,monospace;">‎/etc/amavis/conf.d/50-user</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_11">
<span class="pln">$myhostname = 'mail.example.com';
@local_domains_acl = ( "example.com", "example.org" );</span></pre>

<p dir="rtl">
	إذا أردت تغطية أكثر من نطاق، فعليك استخدام ما يلي في ‎<span style="font-family:courier new,courier,monospace;">/etc/amavis/conf.d/50-user</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_13">
<span class="pln">@local_domains_acl = qw(.);</span></pre>

<p dir="rtl">
	يجب إعادة تشغيل Amavisd-new بعد الضبط:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_15">
<span class="pln">sudo service amavis restart</span></pre>

<h3 dir="rtl">
	DKIM Whitelist
</h3>

<p dir="rtl">
	يمكن ضبط Amavisd-new ليضيف عناوين من نطاقات معينة مع مفاتيح نطاق (Domain Keys) صالحة إلى القائمة البيضاء (Whitelist)؛ هنالك بعض النطاقات المضبوطة مسبقًا في <span style="font-family:courier new,courier,monospace;">‎/etc/amavis/conf.d/40-policy_banks</span>:
</p>

<p dir="rtl">
	هذه بعض الأمثلة لضبط القائمة البيضاء لنطاق:
</p>

<ul dir="rtl"><li>
		التعليمة <span style="font-family:courier new,courier,monospace;">‎'example.com' =&gt; 'WHITELIST'</span>,‎: ستضيف أي عنوان من النطاق "example.com" إلى القائمة البيضاء.
	</li>
	<li>
		التعليمة ‎<span style="font-family:courier new,courier,monospace;">'‎.example.com' =&gt; 'WHITELIST‎'‎</span>,‎: ستضيف أي عنوان من أي نطاق فرعي للنطاق "example.com" ويملك توقيع صالح (valid signature) إلى القائمة البيضاء.
	</li>
	<li>
		التعليمة ‎<span style="font-family:courier new,courier,monospace;">'‎.example.com/@example.com' =&gt; 'WHITELIST'</span>,‎: إضافة أي عنوان من النطاقات الفرعية للنطاق "example.com" الذي يستخدم توقيع النطاق الأب "example.com".
	</li>
	<li>
		التعليمة <span style="font-family:courier new,courier,monospace;">‎'‎./@example.com' =&gt; 'WHITELIST'</span>,‎: يضيف العناوين من توقيع صالح من "example.com" هذا يستخدم عادةً لمجوعات النقاش التي توقَّع رسائلها.
	</li>
</ul><p dir="rtl">
	يمكن أن يملك نطاقٌ واحد أكثر من ضبط للقائمة البيضاء؛ عليك إعادة تشغيل amavisd-new بعد تعديل الملف:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_17">
<span class="pln">sudo service amavis restart</span></pre>

<p dir="rtl">
	<strong>ملاحظة</strong>: في هذا السياق؛ عندما يُضاف النطاق إلى القائمة البيضاء، فإن الرسالة لن تحصل على أي فحص من الفيروسات أو الرسائل العشوائية؛ ربما يكون أو لا يكون هذا هو السلوك الذي ترغبه لهذا النطاق.
</p>

<h3 dir="rtl">
	Postfix
</h3>

<p dir="rtl">
	أدخل ما يلي في مِحَث الطرفية لدمج Postfix:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_19">
<span class="pln">sudo postconf -e 'content_filter = smtp-amavis:[127.0.0.1]:10024'</span></pre>

<p dir="rtl">
	ثم عدِّل الملف <span style="font-family:courier new,courier,monospace;">‎/etc/postfix/master.cf </span>وأضف الأسطر الآتية إلى نهاية الملف:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_21">
<span class="pln">smtp-amavis     unix    -       -       -       -       2       smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes
        -o disable_dns_lookups=yes
        -o max_use=20

127.0.0.1:10025 inet    n       -       -       -       -       smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_delay_reject=no
        -o smtpd_client_restrictions=permit_mynetworks,reject
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o smtpd_data_restrictions=reject_unauth_pipelining
        -o smtpd_end_of_data_restrictions=
        -o mynetworks=127.0.0.0/8
        -o smtpd_error_sleep_time=0
        -o smtpd_soft_error_limit=1001
        -o smtpd_hard_error_limit=1000
        -o smtpd_client_connection_count_limit=0
        -o smtpd_client_connection_rate_limit=0
        -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters</span></pre>

<p dir="rtl">
	أيضًا أضف السطرين الآتيين مباشرةً بعد خدمة النقل «pickup»:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_23">
<span class="pln">         -o content_filter=
         -o receive_override_options=no_header_body_checks</span></pre>

<p dir="rtl">
	هذا سيمنع الرسائل المُولَّدة للتبليغ عن الرسائل العشوائية من تصنيفها كرسائل عشوائية؛ أعد الآن تشغيل Postfix:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_25">
<span class="pln">sudo service postfix restart</span></pre>

<p dir="rtl">
	يجب الآن أن يكون ترشيح المحتوى والعثور على الفيروسات مُفعَّلًا.
</p>

<h2 dir="rtl">
	الاختبار
</h2>

<p dir="rtl">
	أولًا، اختبر أن Amavisd-new SMTP يستمع:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_27">
<span class="pln">telnet localhost 10024
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
^]</span></pre>

<p dir="rtl">
	وفي ترويسة (header) الرسائل التي تُمرَّر عبر مُرشِّح المحتوى، يجب أن تُشاهِد:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_29">
<span class="pln">X-Spam-Level: 
X-Virus-Scanned: Debian amavisd-new at example.com
X-Spam-Status: No, hits=-2.3 tagged_above=-1000.0 required=5.0 tests=AWL, BAYES_00
X-Spam-Level: </span></pre>

<p dir="rtl">
	<strong>ملاحظة</strong>: قد تختلف النتائج المعروضة عمَّا سيظهر عندك، لكن من المهم وجود القيدين <span style="font-family:courier new,courier,monospace;">X-Virus-Scanned</span> و <span style="font-family:courier new,courier,monospace;">X-Spam-Status</span>.
</p>

<h2 dir="rtl">
	استكشاف الأخطاء
</h2>

<p dir="rtl">
	أفضل طريقة لمعرفة سبب حدوث مشكلة ما هي مراجعة ملفات السجل.
</p>

<ul dir="rtl"><li>
		لتعليماتٍ عن التسجيل في Postfix راجع <a href="https://academy.hsoub.com/devops/servers/%D8%AA%D9%86%D8%B5%D9%8A%D8%A8-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%AF%D9%85%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-postfix-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r203/">الدرس الخاص به</a>.
	</li>
	<li>
		يستخدم Amavisd-new البرمجية Syslog لإرسال الرسائل إلى <span style="font-family:courier new,courier,monospace;">‎/var/log/mail.log</span>؛ يمكن زيادة مقدار التفاصيل بإضافة الخيار <span style="font-family:courier new,courier,monospace;">‎$log_level</span> إلى ملف ‎<span style="font-family:courier new,courier,monospace;">/etc/amavis/conf.d/50-user</span>، وضبط القيمة من 1 إلى 5:
	</li>
</ul><pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_31">
<span class="pln">$log_level = 2;</span></pre>

<p dir="rtl">
	<strong>ملاحظة</strong>: عند زيادة درجة الإسهاب لسجل Amavisd-new، فسيزداد ناتج سجل Spamassassin أيضًا.
</p>

<ul><li>
		<p dir="rtl">
			يمكن زيادة مستوى التسجيل لبرمجية ClamAV بتعديل الملف <span style="font-family:courier new,courier,monospace;">‎/etc/clamav/clamd.conf </span>وضبط الخيار الآتي:
		</p>
	</li>
</ul><pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9686_33">
<span class="pln">LogVerbose true</span></pre>

<p dir="rtl">
	افتراضيًا، سيُرسِل ClamAV رسائل السجل إلى <span style="font-family:courier new,courier,monospace;">‎/var/log/clamav/clamav.log</span>.
</p>

<p dir="rtl">
	<strong>ملاحظة</strong>: بعد تغيير إعدادات التسجيل للبرمجيات، تذكر أن تعيد تشغيل الخدمة لكي تأخذ الإعدادات الجديدة مفعولها؛ أيضًا تذكر أن تعيد القيمة الافتراضية بعد أن تحل المشكلة.
</p>

<h2 dir="rtl">
	مصادر
</h2>

<p dir="rtl">
	للمزيد من المصادر حول ترشيح البريد، راجع الوصلات الآتية:
</p>

<ul dir="rtl"><li>
		<a href="http://www.ijs.si/software/amavisd/amavisd-new-docs.html" rel="external nofollow">توثيق </a><a href="http://www.ijs.si/software/amavisd/amavisd-new-docs.html" rel="external nofollow">Amavisd-new</a><a href="http://www.ijs.si/software/amavisd/amavisd-new-docs.html" rel="external nofollow">.</a>
	</li>
	<li>
		<a href="http://www.clamav.net/doc/latest/html/" rel="external nofollow">توثيق </a><a href="http://www.clamav.net/doc/latest/html/" rel="external nofollow">ClamAV</a> <a href="http://wiki.clamav.net/Main/WebHome" rel="external nofollow">وويكي </a><a href="http://wiki.clamav.net/Main/WebHome" rel="external nofollow">ClamAV</a>.
	</li>
	<li>
		<a href="http://wiki.apache.org/spamassassin/" rel="external nofollow">و</a><a href="http://wiki.apache.org/spamassassin/" rel="external nofollow">ي</a><a href="http://wiki.apache.org/spamassassin/" rel="external nofollow">كي </a><a href="http://wiki.apache.org/spamassassin/" rel="external nofollow">Spamassassin</a>.
	</li>
	<li>
		<a href="http://sourceforge.net/apps/trac/pyzor/" rel="external nofollow">صفحة </a><a href="http://sourceforge.net/apps/trac/pyzor/" rel="external nofollow">Pyzor </a><a href="http://sourceforge.net/apps/trac/pyzor/" rel="external nofollow">الرئيسية</a>.
	</li>
	<li>
		<a href="http://razor.sourceforge.net/" rel="external nofollow">صفحة </a><a href="http://razor.sourceforge.net/" rel="external nofollow">Razor </a><a href="http://razor.sourceforge.net/" rel="external nofollow">الرئيسية</a>.
	</li>
	<li>
		<a href="http://dkim.org/" rel="external nofollow">DKIM.org</a>
	</li>
	<li>
		<a href="https://help.ubuntu.com/community/PostfixAmavisNew" rel="external nofollow">Postfix Amavis New</a>
	</li>
	<li>
		أيضًا، تستطيع أن تسأل أسئلتك في قناة ‎#ubuntu-sever على خادوم <a href="http://freenode.net/" rel="external nofollow">freenode</a>.
	</li>
</ul><p>
	ترجمة -وبتصرف- للمقال <a href="https://help.ubuntu.com/lts/serverguide/mail-filtering.html" rel="external nofollow">Ubuntu Server Guide: Mail Filtering</a>.
</p>
]]></description><guid isPermaLink="false">207</guid><pubDate>Wed, 03 Feb 2016 20:31:00 +0000</pubDate></item><item><title>&#x643;&#x64A;&#x641; &#x62A;&#x636;&#x628;&#x637; &#x62E;&#x62F;&#x645;&#x629; Dovecot &#x644;&#x644;&#x628;&#x631;&#x64A;&#x62F; &#x627;&#x644;&#x625;&#x644;&#x643;&#x62A;&#x631;&#x648;&#x646;&#x64A; &#x639;&#x644;&#x649; &#x623;&#x648;&#x628;&#x646;&#x62A;&#x648;</title><link>https://academy.hsoub.com/devops/servers/mail/%D9%83%D9%8A%D9%81-%D8%AA%D8%B6%D8%A8%D8%B7-%D8%AE%D8%AF%D9%85%D8%A9-dovecot-%D9%84%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r206/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2016_02/ubuntu-server-email-dovecot.png.d25cbd202d88004cfa868d4f4ee699b7.png" /></p>

<p>
	Dovecot هو عميل تسليم البريد، مكتوبٌ مع اعتبار الحماية من الأولويات؛ ويدعم صيغتي صندوق البريد الرئيسيتين: mbox أو Maildir؛ يشرح هذا القسم كيفية ضبطه كخادوم imap أو pop3.
</p>

<p style="text-align: center;">
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="12324" data-unique="klmakx491" src="https://academy.hsoub.com/uploads/monthly_2016_02/ubuntu-server-email-dovecot.png.a74c2cde39bc7bc65de77d04fd0f2f2d.png" alt="ubuntu-server-email-dovecot.png.a74c2cde"></p>

<h2>
	التثبيت
</h2>

<p>
	نفِّذ الأمر الآتي في الطرفية لتثبيت dovecot:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_5962_7">
<span class="pln">sudo apt-get install dovecot-imapd dovecot-pop3d</span></pre>

<h2>
	الضبط
</h2>

<p>
	عدِّل الملف ‎<span style="font-family:courier new,courier,monospace;"> /etc/dovecot/dovecot.conf</span>لضبط dovecot، يمكنك اختيار البروتوكول الذي تريد استخدامه، حيث يمكن أن يكون pop3 أو pop3s (أي pop3 الآمن)، أو imap، أو imaps (أي imap الآمن)؛ شرح عن هذه البروتوكولات خارج عن نطاق هذا الدرس، للمزيد من المعلومات راجع مقالات ويكيبيديا عنهم: <a href="http://en.wikipedia.org/wiki/POP3" ipsnoembed="true" rel="external nofollow">POP3</a> ،<a href="http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol" rel="external nofollow">IMAP</a>.
</p>

<p>
	بروتوكولَي IMAPS و POP3S أكثر أمانًا من بروتوكولَي IMAP و POP3 لأنهما يستخدمان تشفير <abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">SSL</abbr> للاتصال؛ بعد أن تختار البروتوكول، فعليك تعديل السطر الآتي في الملف ‎<span style="font-family:courier new,courier,monospace;">/etc/dovecot/dovecot.conf</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_5962_9">
<span class="pln">protocols = pop3 pop3s imap imaps</span></pre>

<p>
	ثم اختر صندوق البريد الذي تريد استخدامه، حيث يدعم Dovecot الصيغتين <strong>maildir</strong> و <strong>mbox</strong>؛ هاتان هما أشهر صيغتين مستعملتين للبريد؛ يملك كلاهما مزايا خاصةً به، ومشروحةً في <a href="http://wiki2.dovecot.org/MailboxFormat" rel="external nofollow">موقع Dovecot</a>.
</p>

<p>
	بعد أن تختار نوع صندوق البريد، عدِّل الملف<span style="font-family:courier new,courier,monospace;"> ‎ /etc/dovecot/conf.d/10-mail.conf</span>وغيِّر السطر الآتي:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_1361_12">
<span class="pln">mail_location = maildir:~/Maildir # (for maildir)</span></pre>

<p>
	أو
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_1361_14">
<span class="pln">mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u # (for mbox)</span></pre>

<p>
	<strong>ملاحظة</strong>: يجب عليك ضبط عميل نقل البريد (MTA) لنقل البريد الوارد إلى هذا النوع من صندوق البريد إذا كان مختلفًا عمَّا ضبطته.
</p>

<p>
	بعد الانتهاء من ضبط dovecot، يجب عليك إعادة تشغيل عفريت dovecot لتجرِّب عمل الخادوم:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_1361_10">
<span class="pln">sudo service dovecot restart</span></pre>

<p>
	إذا فعَّلت imap، أو pop3؛ فيجب عليك أيضًا تجربة تسجيل الدخول باستخدام الأوامر<span style="font-family:courier new,courier,monospace;"> telnet localhost pop3 </span>أو <span style="font-family:courier new,courier,monospace;">telnet localhost imap2</span>؛ لترى إن شاهدت شيئًا شبيهًا بما يلي، فستعلم أن التثبيت والإعداد قد نجحا:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_1361_16">
<span class="pln">user@localbox:~$ telnet localhost pop3
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Dovecot ready.</span></pre>

<h2>
	ضبط Dovecot <abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">SSL</abbr>
</h2>

<p>
	لضبط Dovecot ليستخدم <abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">SSL</abbr>، تستطيع أن تحرِّر الملف <span style="font-family:courier new,courier,monospace;">‎/etc/dovecot/conf.d/10-<abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">ssl</abbr>.conf </span>وتُعدِّل الأسطر الآتية:
</p>

<pre class="ipsCode" id="ips_uid_1361_8">
ssl = yes
ssl_cert = &lt;/etc/ssl/certs/dovecot.pem
ssl_key = &lt;/etc/ssl/private/dovecot.pem</pre>

<p>
	يمكنك الحصول على شهادة <abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">SSL</abbr> من سلطة إصدار الشهادات أو إنشاء شهادة <abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">SSL</abbr> موقعة ذاتيًا؛ الخيار الأخير هو خيار جيد للبريد الإلكتروني، ﻷن عملاء SMTP نادرًا ما يشتكون حول الشهادات الموقعة ذاتيًا؛ رجاءً عُد إلى <a href="https://academy.hsoub.com/devops/servers/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%85%D9%86-%D9%88%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D8%B9%D9%84%D9%89-%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-%D8%A7%D9%84%D8%B4%D9%87%D8%A7%D8%AF%D8%A7%D8%AA-certificates-r187/">درس الشهادات</a> لمزيدٍ من المعلومات حول إنشاء شهادة <abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">SSL</abbr> موقعة ذاتيًا؛ يجب عليك الحصول على ملف مفتاح وملف الشهادة بعد إنشائك للشهادة؛ رجاءً انسخهما إلى المكان المُشار إليه في ملف الضبط<span style="font-family:courier new,courier,monospace;"> ‎/etc/dovecot/conf.d‎/10-<abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">ssl</abbr>.conf</span>.
</p>

<h2>
	ضبط الجدار الناري لخادوم البريد الإلكتروني
</h2>

<p>
	عليك ضبط الجدار الناري للسماح للاتصالات على المنافذ الضرورية للوصول إلى خادوم البريد من حاسوبٍ آخر، وهي:
</p>

<ul><li>
		IMAP‏ – 143
	</li>
	<li>
		IMAPs‏ – 993
	</li>
	<li>
		POP3‏ – 110
	</li>
	<li>
		POP3s‏ – 995
	</li>
</ul><h2>
	مصادر
</h2>

<ul><li>
		راجع <a href="http://www.dovecot.org/" rel="external nofollow">موقع Dovecot</a> لمزيدٍ من المعلومات.
	</li>
	<li>
		أيضًا صفحة ويكي أوبنتو «<a href="https://help.ubuntu.com/community/Dovecot" rel="external nofollow">Dovecot</a>» فيها تفاصيلٌ إضافية.
	</li>
</ul><p>
	ترجمة -وبتصرف- للمقال <a href="https://help.ubuntu.com/lts/serverguide/dovecot-server.html" ipsnoembed="true" rel="external nofollow">Ubuntu Server Guide: DOvecot Server</a>.
</p>
]]></description><guid isPermaLink="false">206</guid><pubDate>Tue, 02 Feb 2016 14:16:00 +0000</pubDate></item><item><title>&#x643;&#x64A;&#x641; &#x62A;&#x633;&#x62A;&#x62E;&#x62F;&#x645; Mailman &#x644;&#x625;&#x62F;&#x627;&#x631;&#x629; &#x627;&#x644;&#x642;&#x648;&#x627;&#x626;&#x645; &#x627;&#x644;&#x628;&#x631;&#x64A;&#x62F;&#x64A;&#x629; &#x639;&#x644;&#x649; &#x623;&#x648;&#x628;&#x646;&#x62A;&#x648;</title><link>https://academy.hsoub.com/devops/servers/mail/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-mailman-%D9%84%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%82%D9%88%D8%A7%D8%A6%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF%D9%8A%D8%A9-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r205/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2016_02/ubuntu-server-email-mailman.png.c2283b8e1c644507574fa48d51389b4d.png" /></p>

<p>
	Mailman هو برمجية مفتوحة المصدر لإدارة نقاشات البريد الإلكتروني وقوائم الأخبار الإلكترونية؛ وتعتمد العديد من قوائم البريد المفتوحة المصدر (بما فيها قوائم بريد أوبنتو) على Mailman كبرمجية قوائم البريد؛ حيث أنها قوية وسهلة التثبيت والإدارة.
</p>

<p style="text-align: center;">
	<img alt="ubuntu-server-email-mailman.png.0b0b9b1f" class="ipsImage ipsImage_thumbnailed" data-fileid="12325" data-unique="ej8qg32ex" src="https://academy.hsoub.com/uploads/monthly_2016_02/ubuntu-server-email-mailman.png.0b0b9b1ff036cfcc2b6ad54afbb9f39b.png"></p>

<h2>
	التثبيت
</h2>

<p>
	يوفر Mailman واجهة ويب للمدراء والمستخدمين؛ مستخدمًا خادوم بريد خارجي لإرسال واستقبال الرسائل؛ حيث يعمل عملًا ممتازًا مع خواديم البريد الآتية:
</p>

<ul><li>
		Postfix
	</li>
	<li>
		Exim
	</li>
	<li>
		Sendmail
	</li>
	<li>
		Qmail
	</li>
</ul><p>
	سنتعلم طريقة تثبيت وضبط Mailman مع خادوم ويب أباتشي ومع أحد خادومَي البريد Postfix أو Exim؛ إذا أردت استخدام Mailman مع خادوم بريد مختلف، فرجاءً عُد إلى قسم المصادر لمزيدٍ من المعلومات.
</p>

<p>
	<strong>ملاحظة</strong>: تحتاج إلى خادوم بريد وحيد فقط، و Postfix هو عميل نقل البريد الافتراضي في أوبنتو.
</p>

<h3>
	Apache2
</h3>

<p>
	لتثبيت apache2، راجع درس <a href="https://academy.hsoub.com/devops/servers/%D8%AA%D9%86%D8%B5%D9%8A%D8%A8-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%A7%D8%AF%D9%88%D9%85-%D8%A3%D8%A8%D8%A7%D8%AA%D8%B4%D9%8A-httpd-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r190/">إعداد خادوم أباتشي</a> لمزيدٍ من التفاصيل.
</p>

<h3>
	Postfix
</h3>

<p>
	راجع <a href="https://academy.hsoub.com/devops/servers/%D8%AA%D9%86%D8%B5%D9%8A%D8%A8-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%AF%D9%85%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-postfix-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r203/">درس Postfix </a>لتعليمات عن تثبيت وضبط Postfix.
</p>

<h3>
	Exim4
</h3>

<p>
	لتثبيت Exim4، راجع <a href="https://academy.hsoub.com/devops/servers/%D8%AA%D9%86%D8%B5%D9%8A%D8%A8-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%AF%D9%85%D8%A9-exim4-%D9%84%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r204/">الدرس</a> الذي شرحنا ذلك فيه.
</p>

<p>
	تُخزَّن ملفات الضبط في مجلد ‎ <span style="font-family:courier new,courier,monospace;">/etc/exim4</span>بعد تثبيت exim4؛ وتكون ملفات ضبط exim4 مقسمة إلى عدة ملفات مختلفة افتراضيًا في أوبنتو؛ يمكنك تغيير هذا السلوك بتعديل قيمة المتغير الآتي في ملف<span style="font-family:courier new,courier,monospace;"> ‎/etc/exim4 ‎/update-exim4.conf</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9883_7">
<span class="pln">dc_use_split_config='true'</span></pre>

<h3>
	Mailman
</h3>

<p>
	نفِّذ الأمر الآتي في الطرفية لتثبيت Mailman:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9883_9">
<span class="pln">sudo apt-get install mailman</span></pre>

<p>
	تنسخ هذه الحزمة ملفات التثبيت إلى مجلد ‎<span style="font-family:courier new,courier,monospace;">/var/lib/mailman</span>، وتثبت سكربتات CGI في ‎<span style="font-family:courier new,courier,monospace;">/usr/lib/cgi-bin/mailman</span>؛ وستُنشِئ مستخدم لينُكس المسمى list، وكذلك تُنشِئ المجموعة list؛ ستُملَك عملية mailman لهذا المستخدم.
</p>

<h2>
	الضبط
</h2>

<p>
	يفترض هذا القسم أنك ثبتت mailman و apache2 و postfix أو exim4 بنجاح؛ كل ما بقي عليك هو ضبطهم.
</p>

<h3>
	Apache2
</h3>

<p>
	مثالٌ عن ملف ضبط أباتشي يأتي مع Mailman وهو موجود في<span style="font-family:courier new,courier,monospace;"> ‎/etc/mailman/apache.conf</span>، ولكي يستخدم أباتشي ملف الضبط هذا، فيجب أن يُنسَخ إلى<span style="font-family:courier new,courier,monospace;"> ‎/etc/apache2/sites-available</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_179_8">
<span class="pln">sudo cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf</span></pre>

<p>
	هذا سيُنشِئ مضيفًا وهميًا في أباتشي لموقع إدارة Mailman؛ فعِّل الآن الضبط الجديد وأعد تشغيل أباتشي:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_179_12">
<span class="pln">sudo a2ensite mailman.conf
sudo service apache2 restart</span></pre>

<p>
	يستخدم Mailman أباتشي ليشغِّل سكربتات CGI؛ تكون سكربتات CGI مثبتةً في <span style="font-family:courier new,courier,monospace;">‎/usr/lib/cgi-bin/mailman</span>، هذا يعني أن وصلة mailman ستكون <span style="font-family:courier new,courier,monospace;">http://hostname/cgi-bin/mailman</span>؛ يمكنك إجراء تعديلات إلى ملف <span style="font-family:courier new,courier,monospace;">‎/etc/apache2/sites-available/mailman.conf </span>لتعديل هذا السلوك.
</p>

<h3>
	Postfix
</h3>

<p>
	سنربط النطاق <span style="font-family:courier new,courier,monospace;">lists.example.com </span>مع القائمة البريدية للدمج مع Postfix؛ رجاءً استبدل <span style="font-family:courier new,courier,monospace;">lists.example.com </span>بالنطاق الذي تختاره.
</p>

<p>
	يمكنك استخدام الأمر <span style="font-family:courier new,courier,monospace;">postconf</span> لإضافة الضبط الضروري إلى ملف<span style="font-family:courier new,courier,monospace;"> ‎/etc/postfix/main.cf</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_10">
<span class="pln">sudo postconf -e 'relay_domains = lists.example.com'
sudo postconf -e 'transport_maps = hash:/etc/postfix/transport'
sudo postconf -e 'mailman_destination_recipient_limit = 1'</span></pre>

<p>
	انظر أيضًا في<span style="font-family:courier new,courier,monospace;"> ‎/etc/postfix/master.cf</span> للتحقق من أن لديك «الناقل» (transporter) الآتي:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_22">
<span class="pln">mailman    unix   -    n    n    -    -    pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}</span></pre>

<p>
	هذا سيستدعي السكربت <span style="font-family:courier new,courier,monospace;">postfix-to-mailman.py </span>عندما يُسلَّم بريدٌ ما إلى القائمة.
</p>

<p>
	اربط بين النطاق<span style="font-family:courier new,courier,monospace;"> lists.example.com </span>إلى ناقل Mailman باستخدام خريطة الربط (transport map)، وعدِّل الملف <span style="font-family:courier new,courier,monospace;">‎/etc/postfix/transport</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_26">
<span class="pln">lists.example.com mailman:       </span></pre>

<p>
	عليك الآن جعل Postfix يبني خريطة الربط بإدخال الأمر الآتي في الطرفية:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9883_15">
<span class="pln">sudo postmap -v /etc/postfix/transport</span></pre>

<p>
	ثم أعد تشغيل Postfix لتفعيل الضبط الجديد:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_28">
<span class="pln">sudo service postfix restart</span></pre>

<h3>
	Exim4
</h3>

<p>
	تستطيع تشغيل خادوم Exim بإدخال الأمر الآتي في الطرفية بعد تثبيت Exim4:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9883_13">
<span class="pln">sudo service exim4 start</span></pre>

<p>
	ولجعل mailman يعمل مع Exim4، فيجب عليك أن تضبط Exim4؛ وكما ذُكِرَ سابقًا، يستخدم Exim4 افتراضيًا عدِّة ملفات ضبط للأنواع المختلفة؛ لمزيد من التفاصيل، ارجع إلى موقع ويب Exim. يجب عليك إضافة ملف ضبط جديد يحتوي على أنواع الضبط الآتية لتشغيل mailman:
</p>

<ol><li>
		Main (الرئيسي).
	</li>
	<li>
		Transport (النقل).
	</li>
	<li>
		Router (الموجه).
	</li>
</ol><p>
	يُنشِئ Exim ملف ضبط رئيسي بترتيب كل ملفات الضبط الصغيرة هذه؛ ولذلك ترتيب هذه الملفات أمرٌ ضروريٌ جدًا.
</p>

<h3>
	الرئيسي
</h3>

<p>
	جميع ملفات الضبط التي تنتمي إلى النوع الرئيسي (Main) يجب أن تُخزَّن في مجلد <span style="font-family:courier new,courier,monospace;">‎/etc/exim4/conf.d/main/</span>‎‎، يمكنك إضافة المحتويات الآتية في ملف جديد مُسمى <span style="font-family:courier new,courier,monospace;">‎04_exim4-config_mailman</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_30">
<span class="pln"># start
# Home dir for your Mailman installation -- aka Mailman's prefix
# directory.
# On Ubuntu this should be "/var/lib/mailman"
# This is normally the same as ~mailman
MM_HOME=/var/lib/mailman
#
# User and group for Mailman, should match your --with-mail-gid
# switch to Mailman's configure script. Value is normally "mailman"
MM_UID=list
MM_GID=list
#
# Domains that your lists are in - colon separated list
# you may wish to add these into local_domains as well
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# These values are derived from the ones above and should not need
# editing unless you have munged your mailman installation
#
# The path of the Mailman mail wrapper script
MM_WRAP=MM_HOME/mail/mailman
#
# The path of the list config file (used as a required file when
# verifying list addresses)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# end</span></pre>

<h3>
	النقل
</h3>

<p>
	جميع الملفات التي تنتمي إلى نوع النقل (transport) يجب أن تُخزَّن في مجلد <span style="font-family:courier new,courier,monospace;">‎/etc/exim4/conf.d/transport/</span>‎؛ تستطيع إضافة المحتويات الآتية إلى ملف جديد باسم ‎<span style="font-family:courier new,courier,monospace;">40_exim4-config_mailman</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_32">
<span class="pln">  mailman_transport:
     driver = pipe
     command = MM_WRAP \
                           '${if def:local_part_suffix \
                                 {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                                 {post}}' \
               $local_part
      current_directory = MM_HOME
      home_directory = MM_HOME
      user = MM_UID
      group = MM_GID</span></pre>

<h3>
	الموجه
</h3>

<p>
	جميع الملفات التي تنتمي إلى نوع الموجه (router) يجب أن تُخزَّن في مجلد<span style="font-family:courier new,courier,monospace;"> ‎/etc/exim4/conf.d/router/‎</span>؛ تستطيع إضافة المحتويات الآتية إلى ملف جديد باسم <span style="font-family:courier new,courier,monospace;">101‎_exim4-config_mailman</span>:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_34">
<span class="pln">  mailman_router:
   driver = accept
   require_files = MM_HOME/lists/$local_part/config.pck
   local_part_suffix_optional
   local_part_suffix = -bounces : -bounces+* : \
                       -confirm+* : -join : -leave : \
                       -owner : -request : -admin
   transport = mailman_transport</span></pre>

<p>
	<strong>تحذير</strong>: ترتيب ملفات الضبط «الرئيسي» و«النقل» غير مهم، لكن ترتيب ملفات ضبط التوجيه مهم؛ حيث يجب أن يظهر هذا الملف قبل ملف<span style="font-family:courier new,courier,monospace;"> 200‎_exim4-config_primary</span>؛ هذان الملفان يحتويان على نفس نوع المعلومات، وتكون الأولوية للذي يأتي أولًا.
</p>

<h3>
	Mailman
</h3>

<p>
	بعد تثبيت mailman، تستطيع تشغيله بالأمر الآتي:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_179_14">
<span class="pln">sudo service mailman start</span></pre>

<p>
	عليك الآن إنشاء قائمة بريدية افتراضية؛ وذلك بتنفيذ ما يلي:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_36">
<span class="pln">sudo /usr/sbin/newlist mailman</span></pre>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6113_38">
<span class="pln"> Enter the email address of the person running the list: bhuvan at ubuntu.com
  Initial mailman password:
  To finish creating your mailing list, you must edit your /etc/aliases (or
  equivalent) file by adding the following lines, and possibly running the
  `newaliases' program:

  ## mailman mailing list
  mailman:              "|/var/lib/mailman/mail/mailman post mailman"
  mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
  mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
  mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
  mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
  mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
  mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
  mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
  mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
  mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

  Hit enter to notify mailman owner...

  # </span></pre>

<p>
	لقد ضبطنا إما Postfix أو Exim4 للتعرف على كل البريد من mailman؛ لذلك ليس ضروريًا إنشاء أيّة قيود جديدة في<span style="font-family:courier new,courier,monospace;"> ‎/etc/aliases</span>؛ إذا أجريت أيّة تعديلات إلى ملفات الضبط، فرجاءً تأكد أنك أعدت تشغيل هذه الخدمات قبل الإكمال إلى القسم الآتي.
</p>

<p>
	<strong>ملاحظة</strong>: لا يَستخدِم Exim4 الأسماء البديلة في الأعلى لتمرير البريد إلى Mailman، حيث أنه يستخدم طريقة «الاكتشاف»؛ لتجاهل الأسماء البديلة (aliases) عند إنشاء القائمة، فأضف السطر <span style="font-family:courier new,courier,monospace;">MTA=None</span> إلى ملف ضبط Mailman، الذي هو ‏‎<span style="font-family:courier new,courier,monospace;">/etc/mailman/mm_cfg.py</span>.
</p>

<h2>
	الإدارة
</h2>

<p>
	لنفرض أن لديك تثبيتًا افتراضيًا وأنَّك أبقيت على سكربتات CGI في المجلد ‎<span style="font-family:courier new,courier,monospace;">/usr/lib/cgi-bin/mailman/</span>‎. يوفر Mailman أداة ويب للإدارة؛ وجِّه متصفحك إلى العنوان الآتي للوصول إليها:
</p>

<p style="text-align: center;">
	<a href="http://hostname/cgi-bin/mailman/admin" rel="external nofollow">http://hostname/cgi-bin/mailman/admin</a>
</p>

<p>
	ستظهر القائمة البريدية الافتراضية على الشاشة وهي mailman؛ إذا ضغطت على اسم القائمة البريدية، فستُسأل عن كلمة المرور للاستيثاق؛ إذا أدخلت كلمة مرور صحيحة، فستكون قادرًا على تغيير الإعدادات الإدارة للقائمة البريدية؛ يمكنك إنشاء قائمة بريدية جديدة باستخدام الأداة السطرية <span style="font-family:courier new,courier,monospace;">‎/usr/sbin/newlist</span>؛ أو بشكل بديل يمكنك إنشاؤها عبر واجهة الويب.
</p>

<h2>
	المستخدمون
</h2>

<p>
	يوفر Mailman واجهة ويب للمستخدمين، وجِّه متصفحك نحو العنوان الآتي للوصول لتلك الصفحة:
</p>

<p style="text-align: center;">
	<a href="http://hostname/cgi-bin/mailman/listinfo" rel="external nofollow">http://hostname/cgi-bin/mailman/listinfo</a>
</p>

<p>
	ستظهر القائمة البريدية الافتراضية mailman على الشاشة؛ وإذا ضغطت على اسم القائمة البريدية، فسيظهر نموذج للاشتراك فيها؛ يمكنك إدخال بريدك الإلكتروني واسمك (اختياري) وكلمة المرور للاشتراك؛ سيُرسَل بريد للدعوة إلى بريدك الإلكتروني، ويمكنك اتباع التعليمات في البريد للاشتراك.
</p>

<h2>
	مصادر
</h2>

<ul><li>
		دليل تثبيت <a href="http://www.list.org/mailman-install/index.html" rel="external nofollow">GNU Mainman</a>.
	</li>
	<li>
		<a href="http://www.exim.org/howto/mailman21.html" rel="external nofollow">HOWTO – Using Exim 4 and Mailman 2.1 together</a>.
	</li>
	<li>
		راجع أيضًا صفحة ويكي أوبنتو «<a href="https://help.ubuntu.com/community/Mailman" rel="external nofollow">Mailman</a>».
	</li>
</ul>
]]></description><guid isPermaLink="false">205</guid><pubDate>Mon, 01 Feb 2016 22:30:00 +0000</pubDate></item><item><title>&#x62A;&#x646;&#x635;&#x64A;&#x628; &#x648;&#x625;&#x639;&#x62F;&#x627;&#x62F; &#x62E;&#x62F;&#x645;&#x629; Exim4 &#x644;&#x644;&#x628;&#x631;&#x64A;&#x62F; &#x627;&#x644;&#x625;&#x644;&#x643;&#x62A;&#x631;&#x648;&#x646;&#x64A; &#x639;&#x644;&#x649; &#x623;&#x648;&#x628;&#x646;&#x62A;&#x648;</title><link>https://academy.hsoub.com/devops/servers/mail/%D8%AA%D9%86%D8%B5%D9%8A%D8%A8-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%AF%D9%85%D8%A9-exim4-%D9%84%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r204/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-email-exim4.png.a09aa45978ed96c167cbe01ade6335d5.png" /></p>

<p dir="rtl">Exim4 هو عميل نقل رسائل آخر مطور في جامعة كامبردج لاستخدامه في أنظمة يونكس المتصلة إلى الإنترنت؛ يمكن تثبيت Exim بدلًا من sendmail، وذلك على الرغم من أن ضبط exim مختلف كثيرًا عن ضبط sendmail.</p><p dir="rtl" style="text-align: center;"><a href="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-email-exim4.png.f8479679e71b6a4fd7576681a5f24ac9.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="12264" src="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-email-exim4.thumb.png.df13b7c4c1804cb740defe4db0333ba7.png" class="ipsImage ipsImage_thumbnailed" alt="ubuntu-server-email-exim4.thumb.png.df13"></a></p><h2 dir="rtl">التثبيت</h2><p dir="rtl">نفِّذ الأمر الآتي في الطرفية لتثبيت <span style="font-family:courier new,courier,monospace;">exim4</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install exim4</pre><h2 dir="rtl">الضبط</h2><p dir="rtl">نفِّذ الأمر الآتي لضبط Exim4:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo dpkg-reconfigure exim4-config</pre><p dir="rtl">ستظهر واجهة مستخدم تسمح لك بضبط العديد من المعاملات؛ فمثلًا تُقسَّم ملفات الضبط في Exim4 إلى عدِّة ملفات، إذا أردت أن تجعلهم في ملف واحد، فتستطيع ضبط ذلك من هذه الواجهة.</p><p dir="rtl">جميع المعاملات التي ضبطتها في واجهة المستخدم مخزنةٌ في ملف <span style="font-family:courier new,courier,monospace;">‎/etc/exim4/update-exim4.conf</span>؛ وإذا أردت إعادة الضبط، فتستطيع تشغيل معالج الضبط أو تعديل هذا الملف يدويًا باستخدام محررك النصي المفضل؛ وبعد أن تنتهي من الضبط، يمكنك تنفيذ الأمر الآتي لتولد ملف ضبط رئيسي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo update-exim4.conf</pre><p dir="rtl">يولَّد ويُخزَّن ملف الضبط الرئيسي في ‎<span style="font-family:courier new,courier,monospace;">/‎var/lib/exim4/config.autogenerated</span>.</p><p dir="rtl"><strong>تحذير</strong>: عليك عدم تعديل ملف الضبط الرئيسي  بتاتًا؛ حيث يُحدَّث تلقائيًا في كل مرة تُنفِّذ فيها <span style="font-family:courier new,courier,monospace;">update-exim4.conf</span>.</p><p dir="rtl">نفِّذ الأمر الآتي لتشغيل عفريت Exim4:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service exim4 start</pre><h2 dir="rtl">استيثاق SMTP</h2><p dir="rtl">يشرح هذا القسم كيفية ضبط Exim4 لاستخدام <span style="font-family:courier new,courier,monospace;">SMTP-AUTH </span>مع <span style="font-family:courier new,courier,monospace;"><abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr></span> و <span style="font-family:courier new,courier,monospace;">SASL</span>.</p><p dir="rtl">أول خطوة هي إنشاء شهادة لاستخدامها مع <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr>؛ وذلك بإدخال الأمر الآتي في الطرفية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo /usr/share/doc/exim4-base/examples/exim-gencert</pre><p dir="rtl">يجب أن يُضبَط Exim4 الآن لاستخدام <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr> بتعديل الملف<span style="font-family:courier new,courier,monospace;"> ‎/etc/exim4/conf.d/main/03_exim4-config_tlsoptions</span> وإضافة ما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">MAIN_TLS_ENABLE = yes</pre><p dir="rtl">ثم ستحتاج إلى ضبط Exim4 لاستخدام <span style="font-family:courier new,courier,monospace;">saslauthd</span> للاستيثاق؛ عدِّل الملف<span style="font-family:courier new,courier,monospace;"> ‎/etc/exim4/conf.d/auth ‎/30_exim4-config_examples</span> وأزل التعليقات عن قسمَيّ<span style="font-family:courier new,courier,monospace;"> plain_saslauthd_server </span>و<span style="font-family:courier new,courier,monospace;"> login_saslauthd_server</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">  plain_saslauthd_server:
    driver = plaintext
    public_name = PLAIN
    server_condition = ${if saslauthd{{$auth2}{$auth3}}{1}{0}}
    server_set_id = $auth2
    server_prompts = :
    .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
    server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
    .endif
#
  login_saslauthd_server:
    driver = plaintext
    public_name = LOGIN
    server_prompts = "Username:: : Password::"
    # don't send system passwords over unencrypted connections
    server_condition = ${if saslauthd{{$auth1}{$auth2}}{1}{0}}
    server_set_id = $auth1
    .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
    server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
   .endif</pre><p dir="rtl">لكي يتمكن عميل البريد الخارجي من الاتصال إلى خادوم exim الجديد، فمن الضروري إضافة مستخدمين جدد إلى exim بتنفيذ الأوامر الآتية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo /usr/share/doc/exim4/examples/exim-adduser</pre><p dir="rtl">يجب أن يحمي المستخدمون ملفات كلمة المرور الجديدة لخادوم exim بالأوامر الآتية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo chown root:Debian-exim /etc/exim4/passwd
sudo chmod 640 /etc/exim4/passwd</pre><p dir="rtl">في النهاية، حدِّث ضبط Exim4 وأعد تشغيل الخدمة:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo update-exim4.conf
sudo service exim4 restart</pre><h2 dir="rtl">ضبط SASL</h2><p dir="rtl">يوفر هذا القسم معلومات حول ضبط خدمة <span style="font-family:courier new,courier,monospace;">saslauthd</span> لتوفير الاستيثاق لخادوم Exim4.</p><p dir="rtl">أول خطوة هي تثبيت حزمة <span style="font-family:courier new,courier,monospace;">sasl2-bin</span> من الطرفية بإدخال الأمر الآتي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install sasl2-bin</pre><p dir="rtl">لضبط <span style="font-family:courier new,courier,monospace;">saslauthd</span>، عدِّل ملف الضبط <span style="font-family:courier new,courier,monospace;">‎/etc/default/saslauthd </span>واضبط <span style="font-family:courier new,courier,monospace;">START=no</span> إلى:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">START=yes</pre><p dir="rtl">ثم يجب أن يكون المستخدم Debian-exim جزءًا من مجموعة sasl لكي يستخدم Exim4 الخدمةَ <span style="font-family:courier new,courier,monospace;">saslauthd</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo adduser Debian-exim sasl</pre><p dir="rtl">عليك الآن تشغيل خدمة saslauthd:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service saslauthd start</pre><p dir="rtl">ضُبِط الآن Exim4 مع SMTP-AUTH ليستخدم <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr> واستيثاق SASL.</p><h2 dir="rtl">مصادر</h2><ul dir="rtl"><li>راجع موقع <a rel="external nofollow" href="http://www.exim.org/">exim.org</a> لمزيدٍ من المعلومات.</li><li>يتوفر أيضًا كتاب «<a rel="external nofollow" href="http://www.uit.co.uk/content/exim-smtp-mail-server">Exim4 Book</a>».</li><li>مصدر آخر هو صفحة ويكي أوبنتو «<a rel="external nofollow" href="https://help.ubuntu.com/community/Exim4">Exim4</a>».</li></ul><p>ترجمة -وبتصرف- للمقال <a rel="external nofollow" href="https://help.ubuntu.com/lts/serverguide/exim4.html">Ubuntu Server Guide: Exim4</a>.</p>
]]></description><guid isPermaLink="false">204</guid><pubDate>Sun, 31 Jan 2016 21:35:00 +0000</pubDate></item><item><title>&#x62A;&#x646;&#x635;&#x64A;&#x628; &#x648;&#x625;&#x639;&#x62F;&#x627;&#x62F; &#x62E;&#x62F;&#x645;&#x629; &#x627;&#x644;&#x628;&#x631;&#x64A;&#x62F; &#x627;&#x644;&#x625;&#x644;&#x643;&#x62A;&#x631;&#x648;&#x646;&#x64A; Postfix &#x639;&#x644;&#x649; &#x623;&#x648;&#x628;&#x646;&#x62A;&#x648;</title><link>https://academy.hsoub.com/devops/servers/mail/%D8%AA%D9%86%D8%B5%D9%8A%D8%A8-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%AF%D9%85%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-postfix-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r203/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-email-postfix.png.6c38144a7b1a44566f96421e5457a96f.png" /></p>

<p dir="rtl">تشترك العديد من الأنظمة في عملية الحصول على بريد إلكتروني من شخصٍ لآخر عبر الشبكة أو الإنترنت التي تعمل مع بعضها بعضًا؛ ويجب أن يُضبَط كل واحد من هذه الأنظمة ضبطًا صحيحًا لكي تتم العملية بنجاح؛ يستخدم المُرسِل «عميل مستخدم البريد» (Mail User Agent اختصارًا MUA) أو عميل بريد إلكتروني، لإرسال رسالة عبر واحد أو أكثر من «عملاء نقل البريد» (Mail Transfer Agents اختصارًا MTA)، سيسلم آخرهم البريد إلى «عميل إيصال البريد» (Mail Delivery Agent اختصارًا MDA) لإيصال البريد إلى صندوق بريد المستلم، الذي بدوره يحصل عليه عميل البريد الإلكتروني للمستلم عادةً باستخدام خادوم POP3 أو IMAP.</p><p dir="rtl" style="text-align: center;"><a class="ipsAttachLink ipsAttachLink_image" href="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-email-postfix.png.40a519c0902ba45ccd2efa1fbbd8c797.png"><img data-fileid="12262" class="ipsImage ipsImage_thumbnailed" src="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-email-postfix.thumb.png.1684eac3e04a4cd9fc9014829290ae3d.png" alt="ubuntu-server-email-postfix.thumb.png.16"></a></p><h2 dir="rtl">Postfix</h2><p dir="rtl">إن Postfix هو عميل نقل البريد (MTA) الافتراضي في أوبنتو؛ الذي يُوصَف بأنه سريع وسهل الإدارة، وآمن ومتوافق مع عميل نقل البريد sendmail؛ يشرح هذا القسم طريقة تثبيت وضبط Postfix، ويشرح أيضًا كيفية إعداد خادوم SMTP باستخدام اتصال آمن (لإرسال رسائل البريد الإلكتروني بأمان).</p><p dir="rtl"><strong>ملاحظة</strong>: لن نتطرّق إلى «Postfix Virtual Domains» للمزيد من المعلومات حول النطاقات الوهمية وغيرها من إعدادات الضبط المتقدمة، فراجع قسم «مصادر» في نهاية هذا القسم.</p><h2 dir="rtl">التثبيت</h2><p dir="rtl">نفِّذ الأمر الآتي في الطرفية لتثبيت postfix:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install postfix</pre><p dir="rtl">ستُسأل بعض الأسئلة أثناء عملية التثبيت، وسيُشرَح الضبط بتفاصيل أكبر في المرحلة القادمة.</p><h2 dir="rtl">الضبط الأساسي</h2><p dir="rtl">نفِّذ الأمر الآتي في الطرفية لضبط postfix:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo dpkg-reconfigure postfix</pre><p dir="rtl">ستظهر واجهة مستخدم، اختر منها القيم الآتية على كل شاشة:</p><ol><li>Internet Site</li><li>mail.example.com</li><li>steve</li><li>mail.example.com, localhost.localdomail, localhost</li><li>No</li><li>‎127.0.0.1/8 8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24‎</li><li>0</li><li>+</li><li>all</li></ol><p dir="rtl"><strong>ملاحظة</strong>: استبدل<span style="font-family:courier new,courier,monospace;"> mail.example.com</span> بالنطاق الذي سيقبل استلام البريد عليه، و<span style="font-family:courier new,courier,monospace;"> 192.168.0.0/24</span> بالشبكة التي عندك ومجالها؛ و <span style="font-family:courier new,courier,monospace;">steve </span>باسم ملائم للمستخدم.</p><p dir="rtl">الآن هو وقتٌ ملائمٌ لتحديد صيغة صندوق البريد التي تنوي استخدامها؛ افتراضيًا Postfix يستخدم <span style="font-family:courier new,courier,monospace;">mbox</span> لصيغة صندوق البريد؛ وبدلًا من تعديل ملف الضبط مباشرةً، يمكنك استخدام الأمر <span style="font-family:courier new,courier,monospace;">postconf</span> لضبط كل معاملات postfix؛ ستُخزَّن معاملات الضبط في ملف ‎<span style="font-family:courier new,courier,monospace;">/etc/postfix/main.cf</span>؛ وإذا أردت إعادة ضبط معامل معيَّن، يمكنك إما أن تنفذ الأمر أو تعدل الملف يدويًا؛ فلضبط صيغة صندوق البريد إلى <span style="font-family:courier new,courier,monospace;">Maildir</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo postconf -e 'home_mailbox = Maildir/'</pre><p dir="rtl"><strong>ملاحظة</strong>: هذا سيضع البريد الجديد في مجلد ‎<span style="font-family:courier new,courier,monospace;">/home/username/Maildir</span>، لذلك تريد ضبط عميل تسليم البريد (MDA) لاستخدام نفس المسار.</p><h2 dir="rtl">استيثاق SMTP</h2><p dir="rtl">يسمح<span style="font-family:courier new,courier,monospace;"> SMTP-AUTH</span> للعميل بالتعريف عن نفسه باستخدام آلية استيثاق (SASL)، يجب استخدام أمن طبقة النقل (<abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr>) لتشفير عملية الاستيثاق؛ سيسمح خادوم SMTP للعميل بأن ينقل البريد بعد الاستيثاق.</p><ol><li><p dir="rtl">لضبط Postfix مع <span style="font-family:courier new,courier,monospace;">SMTP-AUTH</span> باستخدام SASL‏ (Dovecot SASL):</p></li></ol><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo postconf -e 'smtpd_sasl_type = dovecot'
sudo postconf -e 'smtpd_sasl_path = private/auth-client'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_recipient_restrictions = \
permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'</pre><p dir="rtl"><strong>ملاحظة</strong>: الضبط<span style="font-family:courier new,courier,monospace;"> smtpd_sasl_path</span> هو مسار نسبي إلى مجلد طلبيات Postfix.</p><ol start="2"><li><p dir="rtl">ثم ولِّد أو احصل على شهادة <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr> رقمية، راجع <a href="https://academy.hsoub.com/devops/servers/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%85%D9%86-%D9%88%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D8%B9%D9%84%D9%89-%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-%D8%A7%D9%84%D8%B4%D9%87%D8%A7%D8%AF%D8%A7%D8%AA-certificates-r187/">درس الشهادات</a> للتفاصيل؛ هذا المثال يستخدم أيضًا سلطة شهادات (Certificate Authority أو CA)، للمزيد من المعلومات حول ذلك، انظر إلى قسم «سلطة الشهادات» في نفس الدرس.</p></li></ol><p dir="rtl"><strong>ملاحظة</strong>: عملاء مستخدمي البريد (MUA) التي تتصل إلى خادوم البريد عبر <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr> يجب أن تتعرف على الشهادة المستخدمة في <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr>؛ يمكن فعل ذلك إما باستخدام شهادة من سلطة شهادات تجارية، أو استخدام شهادة موقعة ذاتيًا، وعلى المستخدمين أن يُثبِّتوا أو يقبلوا الشهادة يدويًا، شهادات <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr> من عميل نقل بريد إلى عميل نقل بريد آخر لا يُتحقَّق منها إلا بعد موافقة مسبقة من المنظمات المتأثرة؛ لا يوجد سبب لعدم استخدام شهادة موقعة ذاتيًا عند استعمال <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr> من MTA إلى MTA، ما لم تتطلب السياسات المحلية ذلك؛ راجع قسم «إنشاء شهادة موقعة ذاتيا» لمزيدٍ من المعلومات في <a href="https://academy.hsoub.com/devops/servers/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%85%D9%86-%D9%88%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D8%B9%D9%84%D9%89-%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-%D8%A7%D9%84%D8%B4%D9%87%D8%A7%D8%AF%D8%A7%D8%AA-certificates-r187/">درس الشهادات</a>.</p><ol start="3"><li><p dir="rtl">بعد أن تحصل على الشهادة، اضبط Postfix لتوفير تشفير <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr> للبريد المُرسَل والمُستلَم:</p></li></ol><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">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_key_file = /etc/ssl/private/server.key'
sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtpd_tls_received_header = yes'
sudo postconf -e 'myhostname = mail.example.com'</pre><ol start="4"><li><p dir="rtl">إذا كنت تستخدم سلطة الشهادات الخاصة بك لتوقيع الشهادة، فأدخِل:</p></li></ol><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'</pre><p dir="rtl"><strong>ملاحظة</strong>: بعد تنفيذ كل الأوامر السابقة، فيكون Postfix قد ضُبِطَ ليستخدم <span style="font-family:courier new,courier,monospace;">SMTP-AUTH</span> وشهادة موقعة ذاتيًا أُنشِئت لاتصال <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr> مشفر.</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint"># See /usr/share/postfix/main.cf.dist for a commented, more complete
# version

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = server1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.example.com, localhost.example.com, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject _unauth_destination
smtpd_tls_auth_only = no
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom</pre><p dir="rtl">بعد إكمال الضبط الابتدائي لخدمة postfix؛ فنفذ الأمر الآتي لإعادة تشغيل العفريت:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service postfix restart</pre><p dir="rtl">يدعم Postfix استخدام <span style="font-family:courier new,courier,monospace;">SMTP-AUTH</span> كما هو معرَّف في <span style="font-family:courier new,courier,monospace;">RFC2554</span>؛ الذي هو مبني على SASL؛ لكنه يبقى ضروريًا إعداد استيثاق SASL قبل استخدام<span style="font-family:courier new,courier,monospace;"> SMTP-AUTH</span>.</p><h2 dir="rtl">ضبط SASL</h2><p dir="rtl">يدعم Postfix نسختين من SASL هما Cyrus SASL و Dovecot SASL؛ لتفعيل Dovecot SASL، فيجب تثبيت حزمة <span style="font-family:courier new,courier,monospace;">dovecot-common</span>، وذلك بإدخال الأمر الآتي من الطرفية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install dovecot-common</pre><p dir="rtl">يجب عليك تعديل ملف الضبط ‎<span style="font-family:courier new,courier,monospace;">/etc/dovecot/conf.d/10-master.conf</span>؛ مغيِّرًا ما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">service auth {
  # auth_socket_path points to this userdb socket by default. It's typically
  # used by dovecot-lda, doveadm, possibly imap process, etc. Its default
  # permissions make it readable only by root, but you may need to relax these
  # permissions. Users that have access to this socket are able to get a list
  # of all usernames and get results of everyone's userdb lookups.
  unix_listener auth-userdb {
    #mode = 0600
    #user =
    #group =
  }

  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
}</pre><p dir="rtl">ولكي نسمح لعملاء Outlook باستخدام <span style="font-family:courier new,courier,monospace;">SMTP-AUTH</span>، فعدِّل السطر الآتي في قسم<span style="font-family:courier new,courier,monospace;"> authentication mechanisms</span> في ملف<span style="font-family:courier new,courier,monospace;"> ‎/etc/dovecot/conf.d/10-auth.conf</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">auth_mechanisms = plain</pre><p dir="rtl">إلى ما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">auth_mechanisms = plain login</pre><p dir="rtl">بعد أن ضَبَطَتَ Dovecot، فأعد تشغيله بالأمر:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service dovecot restart</pre><h2 dir="rtl">Mail-Stack Delivery</h2><p dir="rtl">خيار آخر لضبط Postfix لاستعمال <span style="font-family:courier new,courier,monospace;">SMTP-AUTH</span> هو استخدام الحزمة <span style="font-family:courier new,courier,monospace;">mail-stack-delivery</span> (كانت تُحزَّم مسبقًا باسم <span style="font-family:courier new,courier,monospace;">dovecot-postfix</span>)؛ هذه الحزمة ستُثبِّت Dovecot وتضبط Postfix ليستخدمها لاستيثاق SASL وعميل تسليم البريد (MDA)؛ تضبط هذه الحزمة Dovecot أيضًا للخدمات IMAP و IMAPS و POP3 و POP3S.</p><p dir="rtl"><strong>ملاحظة</strong>: ربما تريد أو لا تريد تشغيل IMAP، أو IMAPS، أو POP3، أو POP3S على خادوم البريد عندك؛ على سبيل المثال، إذا كنت تضبط خادومك ليكون بوابةً للبريد، أو مُرَشِّحًا للرسائل العشوائية (Spam) أو الفيروسات ...إلخ. فإذا كانت هذه هي الحالة عندك، فمن الأسهل استخدام الأوامر السابقة لضبط Postfix لاستخدام <span style="font-family:courier new,courier,monospace;">SMTP-AUTH</span>.</p><p dir="rtl">لتثبيت الحزمة، أدخِل ما يلي في الطرفية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install mail-stack-delivery</pre><p dir="rtl">يجب أن تحصل الآن على خادوم بريد يعمل تمامًا؛ لكن هنالك بعض الخيارات التي تريد ضبطها لمزيدٍ من التخصيص؛ على سبيل المثال، تستخدم الحزمة السابقة شهادة ومفتاح من حزمة <span style="font-family:courier new,courier,monospace;"><abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">ssl</abbr>-cert</span>، وفي بيئة إنتاجية يجب أن تستخدم شهادة ومفتاح مولَّد للمضيف.</p><p dir="rtl">عدِّل الخيارات الآتية في ملف<span style="font-family:courier new,courier,monospace;"> ‎/‎etc/postfix/main.cf </span>بعد أن تخصص الشهادة والمفتاح للمضيف:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key</pre><p dir="rtl">ثم أعد تشغيل Postfix:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service postfix restart</pre><h2 dir="rtl">الاختبار</h2><p dir="rtl">اكتمل الآن ضبط <span style="font-family:courier new,courier,monospace;">SMTP-AUTH</span>؛ حان الآن الوقت لاختبار الإعدادات.</p><p dir="rtl">للتأكد إذا كان<span style="font-family:courier new,courier,monospace;"> SMTP-AUTH </span>و <span style="font-family:courier new,courier,monospace;"><abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr></span> يعملان عملًا صحيحًا، فنفِّذ الأمر الآتي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">telnet mail.example.com 25</pre><p dir="rtl">بعد أن تُنشِئ اتصالًا لخادوم البريد postfix، اكتب ما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">ehlo mail.example.com</pre><p dir="rtl">إذا رأيت الأسطر الآتية بين غيرها، فإن كل شيء يعمل على ما يرام؛ اكتب <span style="font-family:courier new,courier,monospace;">quit</span> للخروج.</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME</pre><h2 dir="rtl">استكشاف الأخطاء وإصلاحها</h2><p dir="rtl">سنقدم في هذا القسم بعض الطرق الشائعة لتحديد السبب إذا حدثت مشكلة ما.</p><h3 dir="rtl">الخروج من chroot</h3><p dir="rtl">ستُثبَّت الحزمة postfix في أوبنتو افتراضيًا في بيئة «chroot» لأسبابٍ أمنية؛ يمكن أن يزيد هذا من تعقيد إصلاح المشاكل.</p><p dir="rtl">لتعطيل عمل chroot، حدد السطر الآتي في ملف <span style="font-family:courier new,courier,monospace;">‎/etc/postfix/master.cf</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">smtp    inet   n    -    -    -    -     smtpd</pre><p dir="rtl">وعدِّله كما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">smtp    inet   n    -    n    -    -     smtpd</pre><p dir="rtl">تحتاج إلى إعادة تشغيل Postfix لاستخدام الضبط الجديد، وذلك بإدخال الأمر الآتي في الطرفية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service postfix restart</pre><h3 dir="rtl">Smtps</h3><p dir="rtl">إذا احتجت إلى smtps، فعدِّل الملف <span style="font-family:courier new,courier,monospace;">‎/etc/postfix/master.cf</span> وأزل التعليق عن السطر الآتي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">smtps    inet   n    -    -    -    -      smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING</pre><h3 dir="rtl">ملفات السجل</h3><p dir="rtl">يُرسِل Postfix جميع رسائل السجل إلى ملف <span style="font-family:courier new,courier,monospace;">‎/var/log/mail.log</span>، لكن يمكن أن تضيع رسائل الخطأ والتحذير في السجل العادي، لذلك فإنها تُسجَّل أيضًا إلى <span style="font-family:courier new,courier,monospace;">‎/var/log/mail.err </span>و <span style="font-family:courier new,courier,monospace;">‎/var/log/mail.warn</span> على التوالي وبالترتيب.</p><p dir="rtl">لمراقبة الرسائل الداخلة إلى السجل في الوقت الحقيقي، فاستخدم الأمر tail مع الخيار ‎<span style="font-family:courier new,courier,monospace;">-f</span> كما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">tail -f /var/log/mail.err</pre><p dir="rtl">يمكن زيادة كمية التفاصيل التي ستُسجَّل؛ هذه بعض خيارات الضبط لزيادة مستوى التسجيل لبعض «المناطق» المذكورة أعلاه.</p><ul><li><p dir="rtl">لزيادة نشاط تسجيل <abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr>، فاضبط الخيار<span style="font-family:courier new,courier,monospace;"> smtpd_tls_loglevel</span> إلى قيمة من 1 إلى 4:</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo postconf -e 'smtpd_tls_loglevel = 4'</pre><ul><li><p dir="rtl">إذا كانت لديك مشكلة في إرسال أو استقبل البريد من نطاق معين، فيمكنك إضافة ذاك النطاق إلى معامل<span style="font-family:courier new,courier,monospace;"> debug_peer_list</span>:</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo postconf -e 'debug_peer_list = problem.domain'</pre><ul><li><p dir="rtl">يمكنك زيادة درجة الإسهاب لأي عملية تابعة لعفريت Postfix بتعديل الملف <span style="font-family:courier new,courier,monospace;">‎/etc/postfix/master.cf </span>وبإضافة الخيار <span style="font-family:courier new,courier,monospace;">‎-v</span> بعد القيد، على سبيل المثال، عدِّل القيد smtp كما يلي:</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">smtp    unix   -     -     -    -    -     smtp -v</pre><p dir="rtl"><strong>ملاحظة</strong>: من الضروري ملاحظة أنه بعد إنشاء تعديل من تعديلات التسجيل المذكورة آنفًا، فيجب أن يعاد تحميل عملية Postfix لكي تُدرِك الضبط الجديد:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service postfix reload</pre><ul><li><p dir="rtl">لزيادة مقدار المعلومات المسجلة عند استكشاف مشاكل SASL، يمكنك ضبط الخيارات الآتية في ملف<span style="font-family:courier new,courier,monospace;"> ‎/etc/dovecot/conf.d/10-logging.conf</span>:</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">auth_debug=yes
auth_debug_passwords=yes</pre><p dir="rtl"><strong>ملاحظة</strong>: مثل Postfix، إذا عدَّلت ضبط Dovecot فيجب إعادة تحميل العملية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service dovecot reload</pre><p dir="rtl"><strong>ملاحظة</strong>: يمكن أن تزيد بعض الخيارات من مقدار المعلومات المُرسَلة إلى السجل زيادةً كبيرةً؛ تذكر أن تُعيد مستوى التسجيل إلى الحالة الطبيعية بعد أن تحلّ المشكلة؛ ثم أعد تحميل العفريت الملائم كي يأخذ الضبط الجديد مفعوله.</p><h2 dir="rtl"><a rel="external nofollow" name="15.1.8.%D9%85%D8%B5%D8%A7%D8%AF%D8%B1%7Coutline"></a> مصادر</h2><p dir="rtl">يمكن أن تكون مهمة إدارة خادوم Postfix مهمةً معقدةً جدًا؛ وستحتاج في مرحلةٍ ما إلى الاستعانة بمجتمع أوبنتو للحصول على المساعدة.</p><ul dir="rtl"><li>مكان رائع للسؤال عن مساعدة في Postfix والاشتراك في مجتمع أوبنتو هو قناة ‎#ubuntu-server على خادوم freenode؛ يمكنك أيضًا نشر موضوع في أحد المنتديات.</li><li>لمعلومات معمقّة عن Postfix، فينصح مطورو أوبنتو بكتاب «<a rel="external nofollow" href="http://www.postfix-book.com/">The Book of Postfix</a>».</li><li><a rel="external nofollow" href="http://www.postfix.org/documentation.html">موقع </a><a rel="external nofollow" href="http://www.postfix.org/documentation.html">Postfix</a> فيه توثيق رائع لمختلف خيارات الضبط المتوفرة.</li><li>راجع أيضًا صفحة ويكي أوبنتو «<a rel="external nofollow" href="https://help.ubuntu.com/community/Postfix">Postfix</a>» للمزيد من المعلومات.</li></ul><p>ترجمة -وبتصرف- للمقال <a rel="external nofollow" href="https://help.ubuntu.com/lts/serverguide/postfix.html">Ubuntu Server Guide: Postfix</a>.</p><p>حقوق الصورة البارزة: <a href="http://www.freepik.com/free-vector/laptop-with-emails_758734.htm" rel="external nofollow">Designed by Freepik</a>.</p>
]]></description><guid isPermaLink="false">203</guid><pubDate>Sun, 31 Jan 2016 21:22:06 +0000</pubDate></item><item><title>&#x643;&#x64A;&#x641;&#x64A;&#x629; &#x62A;&#x62B;&#x628;&#x64A;&#x62A; Mailpile &#x639;&#x644;&#x649; &#x623;&#x648;&#x628;&#x646;&#x62A;&#x648; 14.04</title><link>https://academy.hsoub.com/devops/servers/mail/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-mailpile-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-1404-r117/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2015_10/mailpile.png.14f398dccd0dc2cff3b46623fb7f6564.png" /></p>

<p dir="rtl">سنرى في هذا الدرس كيفية تثبيت وإعداد <strong>Mailpile</strong>، الذي هو عميل ويب سريع وآمن وجميل للبريد للإلكتروني، على نظام أوبنتو Ubuntu 14.04.</p><p dir="rtl" style="text-align: center;"><a href="https://academy.hsoub.com/uploads/monthly_2015_10/mailpile.png.1df7ed89967a93b5b537cde6dc5eed07.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="5656" src="https://academy.hsoub.com/uploads/monthly_2015_10/mailpile.thumb.png.0c0d60823341de09288bb3c2ce16b2f2.png" class="ipsImage ipsImage_thumbnailed" alt="mailpile.thumb.png.0c0d60823341de09288bb"></a></p><p dir="rtl">عميل ويب للبريد الإلكتروني مثل Mailpile هو طريقةٌ ممتازةٌ للتأكد أنك تستطيع الوصول إلى بريدك من أي مكان دون الفوضى التي تحدث عند ضبط عميل بريد قياسي؛ Mailpile هو مجرد عميل بريد، مما يعني أنه يدير حسابات البريد الموجودة مسبقًا فقط.</p><p dir="rtl">ستحصل، في نهاية هذا الدرس، على خدمة سحابية تعمل عملًا تامًا تشغِّل Mailpile مع خادم Nginx كخادم وسيط عكسي (reverse proxy).</p><p dir="rtl">ابقِ في ذهنك خلال قراءتك لهذا الدرس أن Mailpile ما يزال تجريبيًّا (في مرحلة beta)، الذي يعني أنك ربما تواجه عللًا وصعوباتٍ أخرى في الطريق... لا يحتفظ Mailpile بمعلوماتك بين الجلسات (أي أن عليك إعادة إدخال معلومات حسابك في كل مرة تعيد فيها تشغيل Mailpile).</p><p dir="rtl">ولا يحتوي أيضًا على طريقة سهلة لتشغيله كخدمة (service)؛ افتراضيًا، يمكنه أن يعمل فقط كسكربت تفاعلي في جلسة SSH؛ لكننا ضمّنا سكربت Upstart يستخدم Screen لتشغيله في الخلفية، لذلك يمكنك ترك عميل الويب للبريد يعمل إلى أن تشاء إغلاقه؛ لكن ذلك ليس طريقةً مستحسنةً للتشغيل في بيئة إنتاجية.</p><h2 dir="rtl">المتطلبات المسبقة</h2><p dir="rtl">سنحتاج إلى بضعة أشياء قبل البدء:</p><ul dir="rtl"><li>خادوم (Droplet) يعمل بنظام أوبنتو 14.04، من المستحسن أن يكون لديك 512 ميغابايت من ذاكرة الوصول العشوائي على الأقل لكي يستطيع Mailpile إدارة عدِّة صناديق بريد إلكتروني؛ إذا كنت تتوقع استخدامه من أكثر من مستخدمَين، فربما تريد زيادة الحجم.</li><li>مستخدم يملك امتيازات الجذر (root)، راجع <a href="https://academy.hsoub.com/devops/linux/%D8%B6%D8%A8%D8%B7-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D9%8A%D9%86-%D9%88%D8%A7%D9%84%D9%85%D8%AC%D9%85%D9%88%D8%B9%D8%A7%D8%AA-%D9%81%D9%8A-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r78/">هذا الدرس</a> لتعليمات حول إعداد مستخدم يملك امتيازات الجذر عبر sudo في أوبنتو 14.04</li><li>شهادة SSL لإبقاء بريدك آمنًا؛ يمكنك شراء واحدة من <a rel="external nofollow" href="https://www.namecheap.com/">Namecheap</a> أو سلطة شهادات (certificate authority) أخرى؛ إذا لم تكن تريد إنفاق المال، فيمكنك <a href="https://academy.hsoub.com/search/?tags=ssl">إنشاء شهادتك لاستخدامها مع </a><a rel="external nofollow" href="https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-nginx-for-ubuntu-14-04">Nginx</a> أو يمكنك الحصول على واحدة من <a rel="external nofollow" href="https://www.startssl.com/">StartSSL</a>.</li><li>اسم نطاق.</li><li>إذا كنت تملك نطاقًا، فأنشِئ سجل A للإشارة إلى خادومك (على سبيل المثال mailpile.example.com).</li></ul><p dir="rtl">الحظ أماكن وجود شهادة SSL الخاصة بك والمفاتيح؛ إذا اتبعت الدرس التعليمي لإنشاء شهادات لاستخدامها مع Nginx، فسيكونوا موجودين في:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint" style="text-align: right;">/etc/nginx/ssl/nginx.crt
و
/etc/nginx/ssl/nginx.key</pre><p dir="rtl">هذا كل ما في الأمر، إذا كان لديك كل شيء جاهزًا، فأكمل إلى الخطوة الأولى.</p><h2 dir="rtl">الخطوة الأولى – تنزيل Mailpile</h2><p dir="rtl">سنُحضِّر في هذا القسم بيئة العمل لتثبيت Mailpile.</p><p dir="rtl">علينا أولًا تسجيل الدخول إلى خادومنا، تأكد أنك سجلت دخولك بمستخدم لديه امتيازات الجذر عبر sudo.</p><p dir="rtl">علينا بادئ الأمر تثبيت Git، سنستخدم Git لنسخ كود Mailpile المصدري من GitHub.</p><p dir="rtl">حدِّث فهرس حزم مستودعات أوبنتو:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get update</pre><p dir="rtl">ثبِّت Git:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install git</pre><p dir="rtl">الآن بعد تثبيت Git، لنغيّر مجلد العمل الحالي إلى مكانٍ آخر لكي نجري أعمالنا فيه؛ في هذه الحالة، سنستخدم المجلد <span style="font-family:courier new,courier,monospace;">‎/var</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">cd /var</pre><p dir="rtl">انسخ (clone) كود Mailpile:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo git clone https://github.com/mailpile/Mailpile.git</pre><p dir="rtl">ستحتاج إلى استخدام sudo للسماح للأمر Git بإنشاء مجلد داخل ‎/var، الذي هو مجلد نظام.</p><p dir="rtl">كاد أن يصبح نظامك جاهزًا لتشغيل Mailpile، انتقل الآن إلى الخطوة الثانية لاستعرض المزيد من المتطلبات.</p><h2 dir="rtl">الخطوة الثانية – ضبط متطلبات Mailpile</h2><p dir="rtl">سنثبت ونضبط في هذا القسم متطلبات Mailpile.</p><p dir="rtl">أولًا، لنثبت <span style="font-family:courier new,courier,monospace;">pip</span>؛ إن pip هو مدير حزم لبايثون:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get -y install python-pip</pre><p dir="rtl">سيسمح pip لنا بتثبيت متطلبات Mailpile بطريقة أسهل؛ سترى كيف يتم ذلك خلال دقيقة، لكن علينا أولًا تثبيت المزيد من الأشياء.</p><p dir="rtl">علينا الآن تثبيت <span style="font-family:courier new,courier,monospace;">lxml</span>؛ إن lxml هو من متطلبات Mailpile الذي يُثبَّت عادةً بواسطة pip، لكننا وجدنا أنه يسبب فشل التثبيت لأسبابٍ غير معروفة؛ وبسبب ذلك، سنُثبِّته عبر <span style="font-family:courier new,courier,monospace;">apt-get</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install python-lxml</pre><p dir="rtl">يجب تثبيت بعض الحزم الأخرى يدويًا أيضًا، بما في ذلك GnuPG و OpenSSL؛ ستجعل هذه الحزم البيئة أكثر أمانًا لبريدنا. يمكن أن تكون بعض الحزم مثبتةً افتراضيًا، لكننا سنتأكد من ذلك على أيّة حال تحسبًا لعدم وجودها:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install gnupg openssl libssl-dev</pre><p dir="rtl">بدِّل الآن مجل العمل الحالي إلى مجلد Mailpile:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">cd /var/Mailpile</pre><p dir="rtl">إننا جاهزون الآن لاستغلال إمكانيات pip لتثبيت بقية المتطلبات.</p><p dir="rtl">يحتوي Mailpile على ملف باسم <span style="font-family:courier new,courier,monospace;">requirements.txt</span>، الذي هو قائمة بمتطلباته؛ يملك pip القدرة على قراءة تلك القائمة وتثبيت كل واحدٍ فيها تلقائيًّا؛ لنفعل ذلك إذًا:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo pip install -r /var/Mailpile/requirements.txt</pre><p dir="rtl">لقد إنتهينا، لقد ثبتنا جميع المتطلبات، وأصبح Mailpile جاهزًا للاستخدام، لكن قبل أن نشغِّله، علينا إجراء بعض الخطوات الإضافية لتزيد من الأمان.</p><h2 dir="rtl">الخطوة الثالثة – ضبط وسيط عكسي عبر Nginx</h2><p dir="rtl">سنضبط Nginx في هذا القسم كوسيط عكسي لخدمة Mailpile؛ وهذا ما سيجعل Mailpile أكثر أمانًا، سامحًا لنا باستخدام شهادة SSL، وبتسهيل الوصول إلى عميل الويب للبريد.</p><p dir="rtl">باستخدام Nginx –بدلًا من الوصول إلى Mailpile بزيارة <a rel="external nofollow" href="http://example.com:33411">http://example.com:33411</a>– فستستطيع استخدام <a rel="external nofollow" href="https://mailpile.example.com">https://mailpile.example.com</a>، لنبدأ!</p><p dir="rtl">علينا أولًا تثبيت Nginx لأننا سنستخدمه لإنجاز معظم الأعمال؛ لذلك لنحصل على Nginx قبل أي شي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install nginx</pre><p dir="rtl">الآن، وبعد أن ثبّتنا Nginx، يمكننا ضبط خادم الوسيط العكسي؛ لنعدل ضبط Nginx لتوجيه النطاق الفرعي إلى Mailpile.</p><p dir="rtl">ربما تريد أن تحذف ملف ضبط Nginx الافتراضي، لأنه مليئ بأشياءٍ لا نحتاجها؛ لكن أولًا، لنُنشِئ نسخةً احتياطيةً؛ أنشِئ أولًا المجلد:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo mkdir /home/backup</pre><p dir="rtl">ثم خذ نسخةً احتياطيةً:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo cp -b /etc/nginx/sites-enabled/default /home/backup</pre><p dir="rtl">يمكنك الآن حذف الملف بحرية دون عواقب وخيمة:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo rm /etc/nginx/sites-available/default</pre><p dir="rtl">لنتأكد من أن الملف قد حُذِف:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">ls /etc/nginx/sites-available/</pre><p dir="rtl">إذا ثبَّتتَ Nginx الآن، فيجب ألّا يعيد الأمر السابق أيّة مخرجات.</p><p dir="rtl">لننشِئ الآن ملفًا جديدًا:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo nano /etc/nginx/sites-available/default</pre><p dir="rtl">حان الآن الوقت لضبط الوسيط العكسي؛ لنبدأ بالقسم الأول. أضف ما يلي إلى بداية الملف (سنشرح ماذا يفعل بعد ثوانٍ):</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">/etc/nginx/sites-available/default

server {
    listen 80;
    return 301 https://$host$request_uri;
}</pre><p dir="rtl">ما سبق يخبر Nginx أن يعيد توجيه الطلبيات التي تأتي إليه إلى HTTPS؛ لكنه في الواقع يعيد التوجيه إلى شيءٍ غير موجودٍ بعد؛ لننشِئ ذلك:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">/etc/nginx/sites-available/default

server {
    listen 443;
    server_name mailpile.example.com;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
    ssl on;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log /var/log/nginx/mailpile.access.log;
</pre><p dir="rtl">تأكد من أن الشهادة والمفتاح موجودان في <span style="font-family:courier new,courier,monospace;">‎/etc/nginx/ssl/nginx.crt </span>و ‎<span style="font-family:courier new,courier,monospace;">/etc/nginx/ssl/nginx.key</span>؛ عدا ذلك، فحَدِّث المسارات بعد ssl_certificate و ssl_certificate_key لمطابقة مسارات الشهادة والمفتاح.</p><p dir="rtl">ما أدخلناه في الأعلى يخبر Nginx أن يستمع إلى المنفذ 443 (المنفذ المستعمل للوصول إلى مواقع الويب عبر SSL، على النقيض من المنفذ 80)، ويستخدم شهادة SSL الخاصة بنا، ويشغِّل SSL. يجب علينا الآن أن نخدِّم شيئًا ما لعنوان HTTPS URL الذي أعدنا التوجيه إليه وفعّلنا SSL عليه؛ وهذا ما سنفعله في الخطوة الآتية.</p><p dir="rtl">أضف ما يلي إلى الكتلتين النصيتين السابقتين:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">/etc/nginx/sites-available/default

  location / {

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # Fix the "It appears that your reverse proxy set up is broken" error.
    proxy_pass http://localhost:33411;
    proxy_read_timeout 90;
    proxy_redirect http://localhost:33411 https://webmail.example.com;
  }

}</pre><p dir="rtl">بعد أن تنتهي من ذلك، يجب أن يبدو ملف الضبط كما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">/etc/nginx/sites-available/default

server {
    listen 80;
     return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name mailpile.example.com;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
    ssl on;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;
    access_log /var/log/nginx/mailpile.access.log;
     
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Fix the "It appears that your reverse proxy set up is broken" error.
        proxy_pass http://localhost:33411;
        proxy_read_timeout 90;
        proxy_redirect http://localhost:33411 https://webmail.example.com;
    }
}</pre><p dir="rtl">إذا لم تستبدل الموقع الافتراضي، لكنك أنشَأت «server block file» باسمٍ مختلف، فيمكنك تفعيله كما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo ln -s /etc/nginx/sites-available/mailpile.example.com /etc/nginx/sites-enabled/</pre><p dir="rtl">يجب أن يكون الموقع الافتراضي مفعلًا افتراضيًّا.</p><p dir="rtl">الآن أعد تشغيل Nginx لإعادة تحميل الضبط:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service nginx restart</pre><p dir="rtl">هذا كل ما في الأمر؛ يمكن الوصول إلى Mailpile الآن عبر <a rel="external nofollow" href="https://mailpile.example.com">https://mailpile.example.com</a>؛ ربما عليك قبول تحذير SSL إذا استخدمتَ شهادةً موقعةً ذاتيًا (self-singed certificate).</p><p dir="rtl">ولو حاولت أيضًا الوصول عبر <a rel="external nofollow" href="http://mailpile.example.com">http://mailpile.example.com</a> فستحوَّل تلقائيًّا إلى نسخة SSL من الموقع.</p><p dir="rtl">لم نشغِّل Mailpile بعد، لذلك إذا زرت هذه العناوين الآن، فستشاهد الخطأ «502 Bad Gateway»، أكثر سبب شائع لهذا الخطأ هو أن تطبيق Mailpile لا يعمل.</p><p dir="rtl">انتقل الآن إلى الخطوة الرابعة لتشغيل Mailpile.</p><h2 dir="rtl">الخطوة الرابعة – ضبط وتشغيل Mailpile</h2><p dir="rtl">سنشغل في هذا القسم Mailpile، ونضبطه ليعمل مع الخادم الوسيط.</p><p dir="rtl">لنتأكد أننا في المجلد الصحيح:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">cd /var/Mailpile</pre><p dir="rtl">لتشغيل Mailpile، أدخِل الأمر:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">./mp</pre><p dir="rtl">تستطيع الآن البدء في استكشاف Mailpile عبر الواجهة السطرية أو واجهة الويب.</p><p dir="rtl"><strong>تحذير</strong>: لن يحفظ Mailpile الضبط الذي أجريته عندما يتوقف عن العمل؛ لذلك قبل أن تقضي وقتًا في ضبطه؛ ربما تريد أن تنجز الخطوة الإضافية لتشغيله كخدمة تعمل في الخلفية.</p><p dir="rtl">أصبح Mailpile يعمل الآن، ويمكنك الوصول إليه عبر <a rel="external nofollow" href="https://mailpile.example.com">https://mailpile.example.com</a>، وحتى يمكنه إعادة التوجيه إلى HTTPS مُستخدِمًا شهادة SSL الخاصة بك. تهانينا!</p><p dir="rtl">يمكنك استخدام<span style="font-family:courier new,courier,monospace;"> Ctrl+C</span> ثم كتابة quit للخروج من Mailpile.</p><h2 dir="rtl">خطوة اختيارية – اجعل Mailpile يعمل كخدمة مع Upstart</h2><p dir="rtl">للتأكد من أن Mailpile يعمل دائمًا وجاهزٌ للتعامل مع بريدك؛ يمكنك تحويل Mailpile إلى خدمة باستخدام Upstart.</p><p dir="rtl">لمّا كان Mailpile ما يزال تجريبيًّا، فإنه لم يصبح على شكل خدمة بعد؛ حيث يتطلب وجود سطر أوامر تفاعلي، لذلك لا تستطيع أن تشغل سكربت بايثون مباشرةً. سكربت Upstart الآتي هو طريقة ملتوية لتشغيل تطبيق بايثون كخدمة عبر <a rel="external nofollow" href="https://www.digitalocean.com/community/tutorials/how-to-install-and-use-screen-on-an-ubuntu-cloud-server">Screen</a>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo nano /etc/init/mailpile.conf


/etc/init/mailpile.conf

description "Mailpile Webmail Client"
author "Sharon Campbell"

start on filesystem or runlevel [2345]
stop on shutdown

script
echo $$ &gt; /var/run/mailpile.pid
exec /usr/bin/screen -dmS mailpile_init /var/Mailpile/mp
end script

pre-start script
echo "[`date`] Mailpile Starting" &gt;&gt; /var/log/mailpile.log
end script

pre-stop script
rm /var/run/mailpile.pid
echo "[`date`] Mailpile Stopping" &gt;&gt; /var/log/mailpile.log
end script</pre><p dir="rtl">سيبدأ السكربت السابق Mailpile ويبقى يعمل ما دامت جلسة Screen تعمل؛ لا يمكن للسكربت أن يوقِف جلسة Screen إيقافًا سَلِسًا، لذلك عليك إيقاف جلسة Screen يدويًا إذا أردت إيقاف تشغيل Mailpile.</p><p dir="rtl">مستخدمًا هذا السكربت، يمكنك تشغيل Mailpile عبر:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo start mailpile</pre><p dir="rtl">مما يؤدي إلى إنشاء جلسة Screen باسم 12345‎.mailpile_init مملوكة من المستخدم الجذر (root).</p><p dir="rtl">لكن لن تعمل أوامر Upstart الأخرى؛ عليك إنهاء جلسة Screen يدويًا، ولو انهارت الخدمة أو توقفت، فعليك أن تعيد تشغيلها من جديد وتضبط جميع خصائصها.</p><h2 dir="rtl">الخطوة الخامسة – التعامل مع Mailpile</h2><p dir="rtl">يوضح هذا القسم كيفية استخدام Mailpile من واجهة الويب، عبر <a rel="external nofollow" href="https://mailpile.example.com">https://mailpile.example.com</a>.</p><p dir="rtl">هذه هي الشاشة التي ستشاهدها عندما تشغِّل Mailpile لأول مرة.</p><p dir="rtl" style="text-align: center;"><a class="ipsAttachLink ipsAttachLink_image" href="https://academy.hsoub.com/uploads/monthly_2015_10/001-mailpile-home.png.c94fb5a2f6e1dd8388a05ec352d0a22f.png"><img data-fileid="5630" class="ipsImage ipsImage_thumbnailed" alt="001-mailpile-home.thumb.png.eb663874e453" src="https://academy.hsoub.com/uploads/monthly_2015_10/001-mailpile-home.thumb.png.eb663874e4531c1a9511114bed7d3c1f.png"></a></p><ul dir="rtl"><li>اختر اللغة من القائمة المنسدلة.</li><li>اضغط على زر «Begin».</li><li>أنشِئ كلمة مرور جديدة، وأدخلها مرتين.</li><li>اضغط على زر «Start using Mailpile».</li><li>في شاشة الدخول: رجاءً أدخِل كلمة المرور التي أنشأتها منذ قليل.</li></ul><p dir="rtl" style="text-align: center;"><a class="ipsAttachLink ipsAttachLink_image" href="https://academy.hsoub.com/uploads/monthly_2015_10/002-YH043iM.png.17a4b51fcf0f4caf9085a9f7661a0208.png"><img data-fileid="5631" class="ipsImage ipsImage_thumbnailed" alt="002-YH043iM.thumb.png.5b37826bcf9d2ab4de" src="https://academy.hsoub.com/uploads/monthly_2015_10/002-YH043iM.thumb.png.5b37826bcf9d2ab4de9932aef3deb285.png"></a></p><ul dir="rtl"><li>أضف حسابًا عبر زر «‎+ Add Account».</li></ul><p dir="rtl" style="text-align: center;"><a class="ipsAttachLink ipsAttachLink_image" href="https://academy.hsoub.com/uploads/monthly_2015_10/003-9OPj3Or.png.df9258947f12bbfee2dcbcf807c48bde.png"><img data-fileid="5632" class="ipsImage ipsImage_thumbnailed" alt="003-9OPj3Or.thumb.png.bf39bf1beb6dfd5f2a" src="https://academy.hsoub.com/uploads/monthly_2015_10/003-9OPj3Or.thumb.png.bf39bf1beb6dfd5f2a0372df6d903b96.png"></a></p><p dir="rtl">من هنا، ستحتاج إلى إدخال بيانات حساب البريد الذي تملكه؛ عليك إدخال عنوان البريد الإلكتروني وكلمة المرور لذاك الحساب؛ ثم سيحاول Mailpile أن يتصل إلى حسابك بهذه المعلومات، الأمر الذي قد يستغرق بضع دقائق.</p><p dir="rtl">يمكنك إدخال بيانات «Sending Mail» و «Receiving Mail» يدويًا، إذا لم يتمكن Mailpile من تحديدها تلقائيًا.</p><p dir="rtl">تنويه: إن Gmail يحجب Mailpile من استخدام حسابك في Gmail؛ لذلك لن تستطيع إضافة حساب Gmail إلى Mailpile – ليس بسهولة على الأقل.</p><p dir="rtl">بعد أن تُسجِّل دخولك، فستظهر لك هذه الشاشة:</p><p dir="rtl" style="text-align: center;"><a class="ipsAttachLink ipsAttachLink_image" href="https://academy.hsoub.com/uploads/monthly_2015_10/004-ueJqKlG.png.a3253d9408303af5d3241604d0980041.png"><img data-fileid="5633" class="ipsImage ipsImage_thumbnailed" alt="004-ueJqKlG.thumb.png.3b8697d18a539a8428" src="https://academy.hsoub.com/uploads/monthly_2015_10/004-ueJqKlG.thumb.png.3b8697d18a539a84287c40a7d67e474f.png"></a></p><p dir="rtl">حاول إرسال واستقبال رسالة بريدية تجريبيّة إلى الحساب الذي أضفته إلى Mailpile من حساب بريد إلكتروني آخر؛ إذا نجح ذلك، فاعلم أن Mailpile يعمل مع حساب بريدك الإلكتروني بنجاح.</p><h2 dir="rtl">ميزات Mailpile أخرى</h2><p dir="rtl">يوفِّر Mailpile أيضًا تشكيلةً واسعةً من خيارات التشفير:</p><p dir="rtl" style="text-align: center;"><a class="ipsAttachLink ipsAttachLink_image" href="https://academy.hsoub.com/uploads/monthly_2015_10/005-Nh2yptT.png.5df9755c99a9826c01119962a84d6ab3.png"><img data-fileid="5634" class="ipsImage ipsImage_thumbnailed" alt="005-Nh2yptT.thumb.png.b9eb4bc1616b322b55" src="https://academy.hsoub.com/uploads/monthly_2015_10/005-Nh2yptT.thumb.png.b9eb4bc1616b322b55c625f48f153824.png"></a></p><h2 dir="rtl">الخلاصة</h2><p dir="rtl">لكي تبدأ مشوارك مع Mailpile، فراجع <a rel="external nofollow" href="https://www.mailpile.is/faq/">الأسئلة الشائعة له</a>.</p><p dir="rtl">للمزيد من خيارات الضبط، نفِّذ الأمر help من سطر أوامر Mailpile.</p><p dir="rtl">تهانينا، لقد حصلت على عميل ويب للبريد الإلكتروني الخاص بك، الذي يعمل على خادوم أوبنتو 14.04؛ ويعمل تمامًا مع SSL ويعيد التوجيه تلقائيًا إلى نسخة HTTPS من موقعك. يمكنك الآن ضبط حسابات بريدك الإلكتروني وإدارة جهات الاتصال، والبريد، والتصنيفات، والمزيد من واجهة Mailpile الجميلة. استمتع!</p><p dir="rtl">ترجمة -وبتصرّف- للمقال <a rel="external nofollow" href="https://www.digitalocean.com/community/tutorials/how-to-install-mailpile-on-ubuntu-14-04">How To Install Mailpile on Ubuntu 14.04</a>‎ لصاحبه Kellan.</p>
]]></description><guid isPermaLink="false">117</guid><pubDate>Thu, 08 Oct 2015 21:26:59 +0000</pubDate></item><item><title>&#x643;&#x64A;&#x641;&#x64A;&#x629; &#x625;&#x639;&#x62F;&#x627;&#x62F; &#x62E;&#x627;&#x62F;&#x648;&#x645; &#x628;&#x631;&#x64A;&#x62F; &#x628;&#x627;&#x633;&#x62A;&#x62E;&#x62F;&#x627;&#x645; Postfix&#x60C; Dovecot&#x60C; MySQL &#x648; SpamAssasin</title><link>https://academy.hsoub.com/devops/servers/mail/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%A7%D8%AF%D9%88%D9%85-%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-postfix%D8%8C-dovecot%D8%8C-mysql-%D9%88-spamassasin-r59/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2015_05/mail-server.png.d56ed8709eaea65559325d098e5e051f.png" /></p>

<p>سنقوم في هذا الدرس بإعداد خادوم بريد باستخدام Postfix، Dovecot، MySQL و SpamAssasin على توزيعة Ubuntu.</p><p>بعد اتّباع هذا الدرس، ستكون قادرًا على إضافة نطاقات افتراضية (virtual domains)، المستخدمين والاختصارات إلى خادوم بريدك الإلكتروني، وليس هذا فقط، بل سيكون خادومك محميًا من هجمات السبام (Spam).</p><h2>المتطلّبات</h2><p>قبل البدء بإعداد خادوم البريد الخاصّ بك، من المهم أن يمتلك خادومك الافتراضي الخاص الأمور التالية:</p><ul><li>توجيه النطاق الرئيسي إلى عنوان الآي بي الخاصّ بخادومك.</li><li>تثبيت وإعداد MySQL على الخادوم.</li><li>مستخدم بصلاحيات الجذر (root privileges).</li><li>إعداد وضبط اسم النطاق المؤهّل الكامل (FQDN). (<a rel="external nofollow" href="https://github.com/DigitalOcean-User-Projects/Articles-and-Tutorials/blob/master/set_hostname_fqdn_on_ubuntu_centos.md#setting-the-fully-qualified-domain-name-fqdn">إعداد FQDN</a>).</li><li><strong>إضافي:</strong> شهادة SSL (<a rel="external nofollow" href="https://www.digitalocean.com/community/articles/how-to-set-up-apache-with-a-free-signed-ssl-certificate-on-a-vps">إعداد شهادة SSL مجانية موقّعة</a>).</li><li><strong>إضافي:</strong> تسجيل الدخول إلى المستخدم الجذر.</li></ul><p>سيكون من المفيد تثبيت الحزم باستخدام المستخدم الجذر حيث أنّك ستمتلك جميع الصلاحيات:</p><pre data-pbcklang="php" data-pbcktabsize="" class="php ipsCode prettyprint">sudo -i</pre><p>قم بكتابة كلمة المرور الخاصّة بالمستخدم. بمجرد نجاح العملية، سترى أنّ رمز $ قد تغيّر إلى #.</p><h2>الخطوة الأولى: تثبيت الحزم</h2><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql</pre><p>عندما يتم سؤالك عن إعدادات Postfix، اختر "Internet Site":</p><p style="text-align: center;"><a href="https://academy.hsoub.com/uploads/monthly_2015_05/001.png.859239b491c56131bb11503e8114417a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2300" src="https://academy.hsoub.com/uploads/monthly_2015_05/001.thumb.png.e50295eb21cdcc8385051e9d6229bff4.png" class="ipsImage ipsImage_thumbnailed" alt="001.thumb.png.e50295eb21cdcc8385051e9d62"></a></p><p>سيقوم Postfix بسؤالك عن اسم بريد النظام الإلكتروني - يمكنك استخدام FQDN أو نطاقك الرئيسي إن أردت:</p><p style="text-align: center;"><a href="https://academy.hsoub.com/uploads/monthly_2015_05/002_(1).png.4b9bcdcf9cd650f9970d5e7000157407.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2301" src="https://academy.hsoub.com/uploads/monthly_2015_05/002_(1).thumb.png.ea9e6eefc77759686f3d8bf121e08420.png" class="ipsImage ipsImage_thumbnailed" alt="002_(1).thumb.png.ea9e6eefc77759686f3d8b"></a></p><h2>الخطوة الثانية: إنشاء قاعدة بيانات MySQL، نطاقات افتراضية، المستخدمين والاختصارات</h2><p>بعد أن انتهى التثبيت، سنقوم الآن بإنشاء قاعدة بيانات MySQL لإعداد 3 جداول مختلفة: واحدٌ للنطاقات، واحدٌ للمستخدمين والأخير سيكون للاختصارات (aliases).</p><p>سنقوم بتسمية قاعدة البيانات بـ"servermail"، ولكن يمكنك استخدام أيّ اسمٍ تريده.</p><p>لإنشاء قاعدة البيانات servermail:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">mysqladmin -p create servermail</pre><p>لتسجيل الدخول كالمستخدم الجذر في MySQL:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">mysql -u root -p</pre><p>قم بإدخال كلمة مرور MySQL الخاصّة بالمستخدم الجذر; إذا نجحت العملية فسترى:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">mysql &gt;</pre><p>يجب علينا أولًا إنشاء مستخدمٍ جديد، حيث يكون مخصصًا لعملية الاستيثاق (authentication) الخاصّة بالبريد الإلكتروني، وسنقوم بإعطائه صلاحية SELECT:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">mysql &gt; GRANT SELECT ON servermail.* TO 'usermail'@'127.0.0.1' IDENTIFIED BY 'mailpassword';</pre><p>نحتاج بعدها إلى إعادة تحميل صلاحيات MySQL لضمان تطبيقها بشكلٍ صحيح:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">mysql &gt; FLUSH PRIVILEGES;</pre><p>وأخيرًا، يجب علينا استخدام قاعدة البيانات الجديدة لإنشاء الجداول وحفظ بياناتنا:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">mysql&gt; USE servermail;</pre><p>سنقوم بإنشاء جدول خاصّ بالنطاقات التي نعرفها على أنّها نطاقات موثوقة:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">CREATE TABLE `virtual_domains` (
`id`  INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre><p>سنقوم الآن بإنشاء جدول لحفظ المستخدمين فيه. ستقوم هنا بإضافة عناوين البريد الإلكتروني وكلمات المرور. من المهم جدًا أن تقوم بربط كلّ مستخدمٍ متوفّر بنطاقٍ ما:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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;</pre><p>وأخيرًا، سنقوم بإنشاء جدول اختصاراتٍ افتراضي لتحديد جميع عناوين البريد الإلكتروني التي تريد توجيهها إلى عناوين بريدية أخرى:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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;</pre><p>لقد قمنا بإنشاء الجداول الثلاثة بنجاح. الآن سنقوم بإدخال البيانات.</p><h3>النطاقات الافتراضية</h3><p>سنقوم هنا بإدخال النطاقات الخاصّة بك إلى جدول virtual_domains. يمكنك إضافة جميع النطاقات التي ترغب بها، ولكننا سنقوم في هذا الدليل بإضافة النطاق الرئيسي فقط (example.com) و اسم نطاقك المؤهّل الكامل (FQDN) والذي هو على شاكلة (hostname.example.com).</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">INSERT INTO `servermail`.`virtual_domains`
(`id` ,`name`)
VALUES
('1', 'example.com'),
('2', 'hostname.example.com');</pre><h3>عناوين البريد الإلكتروني الافتراصية</h3><p>والآن، سنقوم بإدخال عناوين البريد الإلكتروني وكلمات المرور المرتبطة بها إلى كلّ نطاقٍ على حدا. تأكّد من أنّك غيّرت جميع البيانات والمعلومات الموجودة بالشفرة أدناه لتناسب احتياجاتك قبل تطبيقها:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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');</pre><h3>الاختصارات الوهمية:</h3><p>سنُدخِل عنوان البريد الإلكتروني (المصدر) الذي سنقوم بتوجيهه إلى عنوان البريد الإلكتروني الآخر (الوجهة):</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">INSERT INTO `servermail`.`virtual_aliases`
(`id`, `domain_id`, `source`, `destination`)
VALUES
('1', '1', 'alias@example.com', 'email1@example.com');</pre><p>للخروج من MySQL:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">mysql &gt; exit</pre><h2>الخطوة الثالثة: إعداد Postfix</h2><p>سنقوم بإعداد Postfix ليستلم معالجة اتصالات SMTP وإرسال الرسائل إلى كلّ مستخدمٍ موجود في قاعدة بيانات MySQL.</p><p>أولًا، يجب علينا إنشاء نسخة من الملفّ الافتراضي، في حال أردنا استرجاع الإعدادات الافتراضي إذا حصلت مشكلةٌ ما:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">cp /etc/postfix/main.cf /etc/postfix/main.cf.orig</pre><p>افتح ملف main.cf لتعديله:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/postfix/main.cf</pre><p>أولًا سنحتاج إلى القيام بوضع إشارة تعليق (#) على مُعامِلات TLS وإضافة مُعامِلات جديدة من هذا الدرس، سنقوم باستخدام شهادات SSL المجانية والمسارات التي تم اقتراحها في هذا الدليل (<a rel="external nofollow" href="https://www.digitalocean.com/community/articles/how-to-set-up-apache-with-a-free-signed-ssl-certificate-on-a-vps">رابط</a>)، ولكن يمكنك تعديل الأمور بناءً على احتياجاتك الشخصية:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint"># TLS parameters
#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</pre><p>ثم سنقوم بإضافة المُعامِلات التالية إلى أسفل إعدادات TLS التي قمنا بتغييرها بالخطوة السابقة:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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</pre><p>نحتاج الآن إلى القيام بوضع إشارة تعليق (#) قبل سطر mydestination واستبداله بـlocalhost. سيسمح هذا التغيير لخادومك الافتراضي الخاصّ باستخدام النطاق الافتراضي الموجود داخل جدول قاعدة MySQL.</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">#mydestination = example.com, hostname.example.com, localhost.example.com, localhost
mydestination = localhost</pre><p>تأكّد أنّ مُعامِل myhostname مضبوط على الـFQDN الخاصّ بك:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">myhostname = hostname.example.com</pre><p>قم بإضافة السطر التالي ليتم إرسال الرسائل إلى جميع النطاقات الافتراضية الموجودة داخل جدول MySQL:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">virtual_transport = lmtp:unix:private/dovecot-lmtp</pre><p>وأخيرًا، نحتاج إلى إضافة هذه المُعامِلات الثلاثة لنخبر Postfix أن يقوم بإعداد النطاقات الافتراضية، المستخدمين والاختصارات:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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</pre><p><strong>ملاحظة:</strong> قارن هذه التغييرات مع هذا الملف لتتأكد من عدم وجود أخطاء:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt</pre><p>سنقوم بإنشاء الملفّات الثلاثة الأخيرة التي قمنا بإدراجها في ملف main.cf لنخبر Postfix كيف يتصل بـMySQL.</p><p>أولًا، نحتاج إلى إنشاء ملف mysql-virtual-mailbox-domains.cf . إنّه ضروري لتغيير قِيَم الإعدادات بناءً على احتياجاتك الخاصّة:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/postfix/mysql-virtual-mailbox-domains.cf

user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT 1 FROM virtual_domains WHERE name='%s'</pre><p>ثم نحتاج إلى إعادة تشغيل Postfix:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">service postfix restart</pre><p>يجب علينا أن نضمن قيام Postfix بإيجاد النطاق الخاصّ بك، لذا نحتاج اختباره باستخدام الأمر التالي، إذا نجح الأمر فسيتم طباعة رقم 1:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf</pre><p>والآن، يجب علينا إنشاء ملف mysql-virtual-mailbox-maps.cf:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/postfix/mysql-virtual-mailbox-maps.cf 

user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT 1 FROM virtual_users WHERE email='%s'</pre><p>ثم يجب علينا إعادة تشغيل Postfix مجددًا:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">service postfix restart</pre><p>في هذه النقطة، سنتأكّد من أنّ Postfix سيجد عنوان البريد الإلكتروني الأول الخاصّ بك باستخدام الأمر التالي، يجب أن يتم إرجاع الرقم 1 في حال نجحت العملية:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">postmap -q email1@example.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf</pre><p>وأخيرًا، سنقوم بإنشاء آخر ملفّ لإعداد الاتصال بين Postfix و MySQL:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/postfix/mysql-virtual-alias-maps.cf

user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT destination FROM virtual_aliases WHERE source='%s'</pre><p>قم بإعادة تشغيل Postfix:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">service postfix restart</pre><p>يجب أن نضمن أيضًا أنّ Postfix سيعثر على الاختصارات الخاصّة بك. قم بإدخال الأمر التالي ويجب أن يتم طباعة البريد الإلكتروني الذي يتم توجيهه إلى الاختصار:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">postmap -q alias@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf</pre><p>إذا أردت تفعيل المنفذ 587 للاتصال بشكلٍ آمن باستخدام برامج البريد الإلكتروني (email clients)، فمن الضروري أن تقوم بتعديل ملفّ /etc/postfix/master.cf:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/postfix/master.cf</pre><p>نحتاج إلى إلغاء تعليق السطور التالية وإضافة سطور أخرى:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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</pre><p>في بعض الحالات، نحتاج إلى إعادة تشغيل Postfix لكي يتم فتح المنفذ 587:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">service postfix restart</pre><p><strong>ملاحظة:</strong> يمكنك استخدام هذه الأداة لفحص منافذ نطاقك والتأكّد من أنّ المنفذين 25 و 587 مفتوحان (<a rel="external nofollow" href="http://mxtoolbox.com/SuperTool.aspx)">http://mxtoolbox.com/SuperTool.aspx)</a></p><h2>الخطوة الرابعة: إعداد Dovecot</h2><p>سنقوم بنسخ الـ7 ملفّات التي سنقوم بتعديلها هنا، لكي نكون قادرين على استرجاعها في حال ما إذا حصلت مشكلة. أدخل الأوامر التالية الواحد تلو الآخر:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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</pre><p>ثمّ لتعديل ملفّ الإعدادات من Dovecot:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/dovecot/dovecot.conf</pre><p>وتأكّد أنّ هذا الخيار ليس مُعلّقًا (لا يوجد إشارة # قبله):</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">chown -R vmail:vmail /var/mail</pre><p>ثمّ سنحتاج إلى تعديل ملفّ /etc/dovecot/conf.d/10-auth.conf:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/dovecot/conf.d/10-auth.conf</pre><p>قم بإلغاء تعليق سطر استيثاق النصّ الصرف (plain text authentication) وأضف هذا السطر:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">disable_plaintext_auth = yes</pre><p>قم بتعديل مُعامِل auth_mechanisms:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">auth_mechanisms = plain login</pre><p>وقم بتعليق هذا السطر:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">auth_mechanisms = plain login</pre><p>الآن، قم بتفعيل استيثاق MySQL عبر إلغاء تعليق هذا السطر:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">!include auth-sql.conf.ext</pre><p><strong>ملاحظة:</strong> قارن تغييراتك بهذا الملفّ:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt</pre><p>نحتاج إنشاء ملفّ /etc/dovecot/dovecot-sql.conf.ext والذي سيحتوي على معلومات الاستيثاق الخاصّة بك:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/dovecot/conf.d/auth-sql.conf.ext</pre><p>قم بإدخال الشفرة التالية في الملفّ:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}</pre><p>نحتاج تعديل ملفّ /etc/dovecot/dovecot-sql.conf.ext وإضافة معلومات MySQL الخاصّة بنا:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/dovecot/dovecot-sql.conf.ext</pre><p>قم بإلغاء تعليق مُعامِل driver وقم بتعيين mysql فيه:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">driver = mysql</pre><p>قم بإلغاء تعليق مُعامِل connect وأضف البيانات الخاصّة بإعدادات MySQL لديك:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">connect = host=127.0.0.1 dbname=servermail user=usermail password=mailpassword</pre><p>قم بإلغاء تعليق سطر default<em>pass</em>scheme وغيّره إلى SHA-512:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">default_pass_scheme = SHA512-CRYPT</pre><p>قم بإلغاء تعليق سطر password_query وأضف هذه المعلومات:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">password_query = SELECT email as user, password FROM virtual_users WHERE email='%u';</pre><p><strong>ملاحظة:</strong> قارن تغييراتك مع هذا الملفّ:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt</pre><p>الآن، قم بتغيير المالك ومجموعة مجلّد dovecot إلى المستخدم vmail:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">chown -R vmail:dovecot /etc/dovecot
chmod -R o-rwx /etc/dovecot</pre><p>افتح وعدّل ملفّ /etc/dovecot/conf.d/10-master.conf (وكن حذرًا، لأنّه هناك أكثر من مُعامِل يجب تغييره):</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/dovecot/conf.d/10-master.conf

##Uncomment inet_listener_imap and modify to port 0
service imap-login {
  inet_listener imap {
    port = 0
}

#Create LMTP socket and this configurations
service lmtp {
   unix_listener /var/spool/postfix/private/dovecot-lmtp {
       mode = 0600
       user = postfix
       group = postfix
   }
  #inet_listener lmtp {
    # Avoid making LMTP visible for the entire internet
    #address =
    #port =
  #}
}</pre><p>قم بتعديل مُعامِل unix<em>listener إلى service</em>auth كالتالي:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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
}</pre><p>عدّل service auth-worker كالتالي:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">service auth-worker {
  # Auth worker process is run as root by default, so that it can access
  # /etc/shadow. If this isn't necessary, the user should be changed to
  # $default_internal_user.
  user = vmail
}</pre><p><strong>ملاحظة:</strong> قارن تغييراتك بهذا الملفّ:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt</pre><p>وأخيرًا، سنقوم بتعديل ملفّ إعدادات SSL من Dovecot (تخطّى هذه الخطوة في حال كنتَ تريد استخدام الإعدادات الافتراضية):</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/dovecot/conf.d/10-ssl.conf</pre><p>غيّر مُعامَل SSL إلى required:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">ssl = required</pre><p>عدّل المسار لـssl<em>cert و ssl</em>key:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">ssl_cert = &lt;/etc/ssl/certs/dovecot.pem

ssl_key = &lt;/etc/ssl/private/dovecot.pem</pre><p>وقم بإعادة تشغيل Dovecot:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">service dovecot restart</pre><p>يجب أن تتأكّد أنّ المنفذ 993 يعمل ومفتوح:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">telnet example.com 993</pre><p><strong>تهانينا!</strong>، لقد قمتَ بنجاح بإعداد خادوم بريدك الأول ويمكنك اختبار الإعدادات التالية باستخدام أحد برامج إدارة البريد الإلكتروني:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">- Username: email1@example.com
- Password: email1's password
- IMAP: example.com
- SMTP: example.com</pre><p>ملاحظة: استخدام المنفذ 993 لـIMAP المؤمّن و 587 أو 25 لـSMTP.</p><h2>الخطوة الخامسة: إعداد SpamAssassin</h2><p>نحتاج أولًا إلى تثبيت SpamAssassin:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">apt-get install spamassassin spamc</pre><p>ثمّ يجب علينا إنشاء مستخدمٍ خاص بـSpamAssassin:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">adduser spamd --disabled-login</pre><p>لإعداد SpamAssassin بنجاح، من الضروري أن تفتح وتعدّل ملفّ الإعدادات:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/default/spamassassin</pre><p>يجب علينا تغيير مُعامِل ENABLED لتفعيل SpamAssasin:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">ENABLED=1</pre><p>كما ونحتاج إلى تغيير مُعامِلات مجلّد المنزل والخيارات:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">SPAMD_HOME="/home/spamd/"
OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${SPAMD_HOME} -s ${SPAMD_HOME}spamd.log"</pre><p>ثمّ نحتاج إلى تعديل مُعامِل PID_FILE بالشكل التالي:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">PIDFILE="${SPAMD_HOME}spamd.pid"</pre><p>وأخيرًا، نحتاج إلى تحديد أنّ قواعد SpamAssasins يجب أن يتم تحديثها تلقائيًا:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">CRON=1</pre><p><strong>ملاحظة:</strong> قارن تغييراتك بهذا الملفّ:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">PIDFILE="${SPAMD_HOME}spamd.pid"</pre><p>نحتاج الآن إلى فتح /etc/spamassassin/local.cf لإعداد القواعد التي ستحدّ من هجمات السبام (Spam):</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/spamassassin/local.cf</pre><p>سيقوم SpamAssasin بتسجيل كلّ بريدٍ إلكتروني ويفحص ما إذا كان هذا البريد الإلكتروني يمتلك 5 نقط أو أعلى في اختبار فحص السبام، وإن كان كذلك فسيقوم تلقائيًا باعتباره سبام. يمكنك استخدام المُعامِلات التالية لإعداد القواعد المُضادة للسبام:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">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</pre><p>نحتاج إلى تغيير ملفّ /etc/postfix/master.cf لنخبره أنّه سوف يتم التحقق من كلّ بريدٍ إلكترونيٍ وارد بواسطة SpamAssasin:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">nano /etc/postfix/master.cf</pre><p>ثمّ نحتاج إلى العثور على السطر التالي وإضافة مرشّح spamassasin:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">smtp      inet  n       -       -       -       -       smtpd
-o content_filter=spamassassin</pre><p>وأخيرًا نحتاج إلى إضافة المُعامِلات التالية:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">spamassassin unix -     n       n       -       -       pipe
user=spamd argv=/usr/bin/spamc -f -e  
/usr/sbin/sendmail -oi -f ${sender} ${recipient}</pre><p>يجب الآن إعادة تشغيل كلٍّ من Postfix و SpamAssasin لكي تأخذ التغييرات مكانها:</p><pre data-pbcklang="" data-pbcktabsize="" class="ipsCode prettyprint">service spamassassin start
service postfix restart</pre><p><em>*تهانينا!</em> لقد قمتَ بنجاح بإعداد خادوم بريدٍ إلكتروني باستخدام Postfix و Dovecot مع استيثاق MySQL وحماية ضدّ هجمات السبام باستخدام SpamAssasin ! حظًا موفقًا يا صاح!</p><p>ترجمة -وبتصرّف- للمقال: <a rel="external nofollow" href="https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-server-using-postfix-dovecot-mysql-and-spamassasin">How To Configure a Mail Server Using Postfix, Dovecot, MySQL, and SpamAssasin</a>.</p>
]]></description><guid isPermaLink="false">59</guid><pubDate>Sat, 30 May 2015 22:31:12 +0000</pubDate></item><item><title>&#x643;&#x64A;&#x641;&#x64A;&#x629; &#x62A;&#x62B;&#x628;&#x64A;&#x62A; &#x648;&#x62A;&#x647;&#x64A;&#x626;&#x629; Postfix &#x643;&#x62E;&#x627;&#x62F;&#x648;&#x645; SMTP &#x644;&#x644;&#x625;&#x631;&#x633;&#x627;&#x644; &#x641;&#x642;&#x637; &#x628;&#x627;&#x633;&#x62A;&#x62E;&#x62F;&#x627;&#x645; &#x623;&#x648;&#x628;&#x648;&#x646;&#x62A;&#x648; 14.04</title><link>https://academy.hsoub.com/devops/servers/mail/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D9%88%D8%AA%D9%87%D9%8A%D8%A6%D8%A9-postfix-%D9%83%D8%AE%D8%A7%D8%AF%D9%88%D9%85-smtp-%D9%84%D9%84%D8%A5%D8%B1%D8%B3%D8%A7%D9%84-%D9%81%D9%82%D8%B7-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A3%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-1404-r12/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2015_03/postfix.png.e42ad29669e92deacf23592d27b1e7f7.png" /></p>

<h2 dir="rtl">مقدّمة</h2><p dir="rtl">يعد بوست فيكس Postfix وكيل إرسال البريد MTA وهو تطبيق يُستخدم لإرسال واستقبال الرسائل الإلكترونية. سنتعرّف في هذه المقالة على خطوات تثبيت وتهيئة بوست فيكس حتى تتمكّن التطبيقات المحلية Local Applications من إرسال الرسائل من خلاله، والتطبيقات المحلية هي التطبيقات العاملة على نفس الخادوم Server الذي يشغّل بوست فيكس.</p><h2 dir="rtl">لماذا قد ترغب بذلك؟</h2><p dir="rtl">إن كنت تستخدم خدمة بريد إلكتروني لإرسال واستقبال الرسائل فلن تحتاج بالتأكيد لتشغيل خادوم بريد إلكتروني خاص بك. أما إن كنت تدير خادومًا سحابيًا Cloud Server عليه تطبيقات ينبغي عليها إرسال إشعارات عبر البريد الإلكتروني فإن تشغيل خادم SMTP محلي للإرسال فقط يعد بديلًا جيدًا عن استخدام خدمة بريد من مزوّد يشغّل خادوم SMTP كامل المزايا.</p><p dir="rtl">تطبيق OSSEC هو أحد الأمثلة عن التطبيقات التي ترسل إشعارات عبر البريد الإلكتروني، ترسل تلك التطبيقات رسائل التنبيه لأي عنوان بريد إلكتروني تمت تهيئته. ومع أنّه يمكن لتطبيق OSSEC، أو أي تطبيق من نوعه، أن يستخدم خادوم SMTP من أي مزود خدمة بريد إلكتروني إلا أنه بالإمكان أيضًا أن يستخدم خادوم SMTP محلي (للإرسال فقط).</p><p dir="rtl">سنتعلم في هذه المقالة: كيفية تثبيت وتهيئة بوست فيكس كخادوم SMTP للإرسال فقط.</p><p dir="rtl">ملاحظة: إن كنت ستستخدم الخادوم لاستقبال الإشعارات من خادومك على عنوان بريدي وحيد فإن اعتبار رسائلك كرسائل غير مرغوب بها (سبام) ليس بالمشكلة الكبيرة باعتبار أنه بإمكانك إزالتها من ذلك التصنيف Whitelist emails.</p><p dir="rtl">أما إن كنت ستستخدم الخادوم لإرسال الرسائل لأي مستخدم مرتقب لموقعك، كرسائل تأكيد التسجيل في المنتديات، فعليك حتمًا تنفيذ الخطوة الخامسة حتى تزيد فرص الرسائل في اعتبارها رسائل صالحة legitimate. إن كنت لا تزال تعاني من مشكلة اعتبار رسائل خادوم البريد الخاص بك كرسائل سبام فعليك المضي باستكشاف الأخطاء وإصلاحها بنفسك.</p><h2 dir="rtl">المتطلبات الأساسية</h2><p dir="rtl">يجب توفر المتطلبات الآتية:</p><ul><li><p dir="rtl">خادوم Ubuntu.</p></li><li><p dir="rtl">تنفيذ خطوات الإعداد الأساسي للخادوم. يعني ذلك أنه يجب أن يكون لديك حساب مستخدم عادي Standard مع صلاحيات sudo.</p></li><li><p dir="rtl">أن تملك نطاقًا صالحًا Valid Domain مثل example.com مرتبطًا مع خادومك.</p></li><li><p dir="rtl">يجب أن يماثل اسم المضيف Hostname اسم النطاق أو النطاق الفرعي Subdomian. بإمكانك التحقق من اسم المضيف الخاص بخادومك عبر تنفيذ الأمر hostname في الطّرفية. ينبغي أن يكون ناتج تنفيذ الأمر مماثلًا تمامًا للاسم الذي اخترته عند تنصيبك للنّظام مثل example.com.</p></li></ul><p dir="rtl">إن كانت كل المتطلبات متوفّرة فأنت جاهزٌ الآن لتنفيذ الخطوة الأولى من هذه المقالة.</p><h2 dir="rtl">الخطوة الأولى - تثبيت بوست فيكس</h2><p dir="rtl">ستتعلم في هذه الخطوة كيفية تثبيت بوست فيكس. إنّ أكثر الطرق فعاليّةً لتثبيت بوست فيكس والبرامج الأخرى اللازمة لاختبار البريد الإلكتروني هي تثبيت حزمة mailutils package عبر تنفيذ الأمر التالي:</p><pre class="php ipsCode prettyprint">sudo apt-get install mailutils
</pre><p dir="rtl">إن تثبيت حزمة <span style="font-family:'courier new', courier, monospace;">mailutils</span> سيؤدي إلى تثبيت بوست فيكس بالإضافة إلى بعض البرامج الأخرى اللازمة لبوست فيكس لكي يقوم بوظيفته. بعد كتابة ذلك الأمر سيظهر لك ما يشبه العبارات التالية:</p><pre class="php ipsCode prettyprint">The following NEW packages will be installed:

guile-2.0-libs libgsasl7 libkyotocabinet16 libltdl7 liblzo2-2 libmailutils4 libmysqlclient18 libntlm0 libunistring0 mailutils mailutils-common mysql-common postfix ssl-cert

0 upgraded, 14 newly installed, 0 to remove and 3 not upgraded.

Need to get 5,481 kB of archives.

After this operation, 26.9 MB of additional disk space will be used.

Do you want to continue? [Y/n]

</pre><p dir="rtl">اضغط على زر Enter لتثبيت الحزم. عندما تشارف عملية التثبيت على الانتهاء ستظهر لك نافذة تشبه تمامًا النافذة التي في الصورة أدناه. الخيار الافتراضي هو موقع انترنت Internet Site وهو الخيار الذي سنستخدمه في هذه المقالة لذلك اضغط على زر Tab ثم على زر Enter.</p><p dir="rtl" style="text-align:center;"><a class="ipsAttachLink ipsAttachLink_image" rel="external nofollow" href="https://academy.hsoub.com/uploads/monthly_2015_03/01.png.a3e6d480047a037dc379292023077c7b.png"><img data-fileid="572" class="ipsImage ipsImage_thumbnailed" alt="01.thumb.png.e459089f5f920fc5ab51e72f8aa" src="https://academy.hsoub.com/uploads/monthly_2015_03/01.thumb.png.e459089f5f920fc5ab51e72f8aad82d2.png"></a></p><p dir="rtl">بعد ذلك ستظهر لك نافذة أخرى تشبه تمامًا النافذة في الصورة التالية. ينبغي أن يكون اسم نظام البريد System Mail Name مماثلًا للاسم الذي اخترته للدروب ليت عند إنشائك له. إن كان يحوي على نطاق فرعي مثل mars.example.com فعليك تغييره إلى example.com، عندما تنتهي اضغط على زر Tab ثم على زر Enter.</p><p dir="rtl" style="text-align:center;"><a class="ipsAttachLink ipsAttachLink_image" rel="external nofollow" href="https://academy.hsoub.com/uploads/monthly_2015_03/02.png.11c448aace9a04a69e80914f089a95db.png"><img data-fileid="573" class="ipsImage ipsImage_thumbnailed" alt="02.thumb.png.eb6aaa623e165474ebe728a72cb" src="https://academy.hsoub.com/uploads/monthly_2015_03/02.thumb.png.eb6aaa623e165474ebe728a72cb5343d.png"></a></p><p dir="rtl">بعد اكتمال التثبيت بنجاح نفّذ الخطوة الثانية.</p><h2 dir="rtl">الخطوة الثانية - تهيئة بوست فيكس</h2><p dir="rtl">سنشرح في هذه الخطوة كيفية تهيئة بوست فيكس ليعالج طلبات الإرسال الصادرة عن الخادوم الذي يشغله فقط؛ أي من الجهاز المضيف localhost. لتحقيق ذلك ينبغي أن يُهيئ بوست فيكس للتنصت المنفذ (لوب باك) loopback Interface، وهو منفذ شبكة وهمي يستخدمه الخادوم للاتصال الداخلي. لإجراء التغيير، افتح ملف التهيئة الأساسي لبوست فيكس باستخدام محرر النصوص (نانو) nano عبر تنفيذ الأمر التالي:</p><pre class="php ipsCode prettyprint">sudo nano /etc/postfix/main.cf
</pre><p dir="rtl">بعد فتح الملف مرّر إلى أسفله حتى ترى المتحولات الواردة في المقطع البرمجي (كود) Block Code التالي:</p><pre class="php ipsCode prettyprint">mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

</pre><p dir="rtl">عدّل السطر الحاوي على:</p><pre class="php ipsCode prettyprint">inet_interfaces = all
</pre><p dir="rtl">إلى:</p><pre class="php ipsCode prettyprint">inet_interfaces = loopback-only

</pre><p dir="rtl">يجب أن يكون شكل المقطع السابق عندما تنتهي مشابهًا لما يلي:</p><pre class="php ipsCode prettyprint">mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only</pre><p dir="rtl">يمكنك أيضًا تعديل المقطع السابق بكتابة localhost عوضًا عن loopback-only وبالتالي سيكون شكل المقطع مشابهًا لما يلي:</p><pre class="php ipsCode prettyprint">mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost</pre><p dir="rtl">عندما تنتهي من تعديل الملف، احفظه وأغلقه (اضغط على CTRL + X ثم CTRL + Y ثم اضغط على زر Enter). بعد ذلك أعد تشغيل بوست فيكس عبر تنفيذ الأمر:</p><pre class="php ipsCode prettyprint">sudo service postfix restart
</pre><h2 dir="rtl">الخطوة الثالثة - اختبار امكانية إرسال الرسائل عبر خادوم SMTP</h2><p dir="rtl">ستقرأ في هذه الخطوة كيف تختبر فيما إن كان بوست فيكس يرسل الرسائل لأي حساب بريدي خارجي. ستستخدم الأمر mail والذي يعد جزءًا من حزمة mailutails التي ثُبتت في الخطوة الأولى.</p><p dir="rtl">لإرسال رسالة تجريبية أكتب:</p><pre class="php ipsCode prettyprint">echo "This is the body of the email" | mail -s "This is the subject line" user@example.com
</pre><p dir="rtl">يمكنك عند أداء الاختبار استخدام سطر العنوان وجسم الرسالة كما هو أو أن تغيّره كما تحب. ولكن عليك استخدام عنوان بريد إلكتروني Email صالح مكان <a rel="external nofollow" href="mailto:user@example.com">user@example.com</a> حيث يمكن أن يكون الجزء الممثّل للنطاق gmail.com أو fastmail.com أو yahoo.com أو أي مزوّد خدمة بريد إلكتروني آخر تستخدمه.</p><p dir="rtl">تحقّق الآن من صندوق بريد العنوان الذي أرسلت اليه رسالة الاختبار حيث ينبغي أن تجد الرسالة فيه، إن لم تجدها تحقق من مجلد رسائل سبام.</p><p dir="rtl">ملاحظة: وفق هذه التهيئة، سيكون العنوان في حقل المرسل (من) لرسالة الاختبار التي أرسلتها <a rel="external nofollow" href="mailto:sammy@example.com">sammy@example.com</a> حيث sammy هو اسم حساب مستخدم على لينكس والجزء الممثّل للنطاق هو اسم المضيف. إن عدّلت اسم حسابك سيتعدّل عنوان المرسل أيضًا.</p><h2 dir="rtl">الخطوة الرابعة - نظام توجيه البريد</h2><p dir="rtl">آخر ما سنقوم بإعداده هو التوجيه، يمكّنك ذلك من تلقي البريد المرسل إلى حساب root على عنوان بريدك الخارجي.</p><p dir="rtl">حتى نقوم بتهيئة بوست فيكس لإرسال الرسائل التي يولدها النظام إلى عنوان بريدك الإلكتروني، علينا التعديل على الملف:</p><pre class="php ipsCode prettyprint">/etc/aliases</pre><p dir="rtl">عبر تنفيذ الأمر:</p><pre class="php ipsCode prettyprint">sudo nano /etc/aliases</pre><p>يُظهر المقطع البرمجي التالي كامل محتوى الملف وفق الإعدادات الافتراضية لتثبيت أوبونتو 10.04:</p><pre class="php ipsCode prettyprint"># See man 5 aliases for format
postmaster: root</pre><p>تُرسل الرسائل التي يولّدها النظام إلى المستخدم root وفق الإعدادات السابقة. إنّ ما عليك فعله هو تعديل ذلك الملف لتوجيه تلك الرسائل إلى عنوان بريدك ولفعل ذلك عدّل على الملف ليصبح كما يلي:</p><pre class="php ipsCode prettyprint"># See man 5 aliases for format
postmaster: root
root: sammy@example.com</pre><p dir="rtl">استبدل <a rel="external nofollow" href="mailto:sammy@example.com">sammy@example.com</a> بعنوان بريدك الإلكتروني وعندما تنتهي احفظ التغييرات ثم أغلق الملف. بعد ذلك نفّذ الأمر التالي حتى تأخذ التغييرات حيّز التنفيذ:</p><pre class="php ipsCode prettyprint">sudo newaliases</pre><p>بإمكانك الآن اختبار فما إن كانت الإعدادات الجديدة تعمل عبر إرسال رسالة إلى حساب root عبر تنفيذ الأمر التالي:</p><pre class="php ipsCode prettyprint">echo "This is the body of the email" | mail -s "This is the subject line" root</pre><p>ينبغي أن تستقبل الرسالة على عنوان بريدك الإلكتروني. إن لم تجدها تحقّق من مجلد رسائل سبام.</p><h2 dir="rtl">الخطوة الخامسة (اختيارية) - حماية نطاقك من مرسلي رسائل سبام</h2><p dir="rtl">سنستعرض في هذه الخطوة بعض العناوين التي قد ترغب بالبحث عنها وتطبيقها فقد يساعدك ذلك في حماية نطاقك من استخدامه لإرسال رسائل سبام. ومع أن هذه الخطوة اختيارية إلا أننا ننصح بشدّة بتنفيذها، لأنه إن تمّت التهيئة بشكل صحيح فسيكون من الصعب جدًا إرسال رسائل سبام تُظهر أن مصدرها هو نطاقك.</p><p dir="rtl">إن قيامك بخطوات التهيئة الإضافية التالية سيزيد من فرص اعتبار الرسائل الصادرة عن خادومك كرسائل صالحة legitimate بدلًا من أن تعتبرها مزوّدات خدمة البريد الإلكتروني الشهيرة رسائل سبام:</p><ul><li><p dir="rtl">كيفية استخدام سجل SPF لمنع التحايل Spoofing ولتعزيز وثوقيّة البريد الإلكتروني.</p></li><li><p dir="rtl">كيفية تثبيت وتهيئة DKIM مع بوست فيكس.</p></li><li><p dir="rtl">احرص أيضًا على أن يقابل سجل PTR الخاص بخادومك اسم المضيف الذي يستخدمه خادوم البريد عندما يرسل الرسائل.</p></li></ul><p dir="rtl">ترجمة للمقال - وبتصرّف - <a rel="external nofollow" href="https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-14-04">How To Install and Configure Postfix as a Send-Only SMTP Server on Ubuntu 14.04</a> لصاحبه <a rel="external nofollow" href="https://www.digitalocean.com/community/users/finid">Finid</a></p>
]]></description><guid isPermaLink="false">12</guid><pubDate>Sun, 08 Mar 2015 09:42:36 +0000</pubDate></item><item><title>&#x644;&#x645;&#x627;&#x630;&#x627; &#x644;&#x627; &#x64A;&#x646;&#x628;&#x63A;&#x64A; &#x639;&#x644;&#x64A;&#x643; &#x62A;&#x634;&#x63A;&#x64A;&#x644; &#x62E;&#x627;&#x62F;&#x648;&#x645; &#x628;&#x631;&#x64A;&#x62F; &#x62E;&#x627;&#x635; &#x628;&#x643;</title><link>https://academy.hsoub.com/devops/servers/mail/%D9%84%D9%85%D8%A7%D8%B0%D8%A7-%D9%84%D8%A7-%D9%8A%D9%86%D8%A8%D8%BA%D9%8A-%D8%B9%D9%84%D9%8A%D9%83-%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D8%AE%D8%A7%D8%AF%D9%88%D9%85-%D8%A8%D8%B1%D9%8A%D8%AF-%D8%AE%D8%A7%D8%B5-%D8%A8%D9%83-r6/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2015_03/email_480x300.png.e3f516a440df143103f5b49d3e7ea379.png" /></p>
<h2 style="text-align:right;">مقدمة</h2><p style="text-align:right;">عندما تقوم بإعداد موقع أو تطبيق ويب تابع لنطاقك Domain فغالبًا ما سترغب بوجود خادوم بريد ليتلقى ويرسل الرسائل الإلكترونية الموجه منه وإليه، ومع أنه من الممكن تشغيل خادوم بريد خاص بك إلا أن هنالك العديد من الأسباب التي قد لا تجعل من ذلك الخيار الأفضل، تستعرض هذه المقالة العديد من الأسباب التي قد تجعلك غير راغبٍ بتشغيل خادوم بريد خاص بك، بالإضافة لاستعراض بعض البدائل.</p><p style="text-align:right;">إن كنت لا ترغب بقراءة كامل المقال فإليك هذه الخلاصة: إنّ إعداد خادوم بريد وصيانته أمرٌ معقدٌ ويستهلك الوقت، وهنالك العديد من البدائل معقولة السعر، فالكثير من الناس سيكسبون أكثر إن وفّروا وقتهم مقابل استخدامهم خادوم بريد مأجور. على هذا الأساس أكمل قراءة المقال إن ترغب بالحصول على معلومات أكثر.</p><h2 style="text-align:right;">خواديم البريد معقدة</h2><p style="text-align:right;">يتألف أي خادوم بريد من العديد من المكونات البرمجية التي تقوم بوظائف محدّدة، كل مكوّنٍ يجب أن يُهيئ ليعمل بشكل صحيح وبتناغم مع باقي المكوّنات ليقدّموا خادوم بريد يعمل بكامل مزاياه. ولأن خواديم البريد تملك العديد من الأجزاء المتحركة فإنها تكون معقّدة وصعبة الإعداد.</p><p style="text-align:right;">فيما يلي قائمة بالمكونات المطلوبة في خادوم البريد الإلكتروني:</p><p style="text-align:right;">وكيل نقل البريد Mail Transfer Agent واختصارًا MTA.</p><p style="text-align:right;">وكيل تسليم البريد Mail Delivery Agent واختصارًا MDA.</p><p style="text-align:right;">خادوم IMAP و/أو خادوم POP3</p><p style="text-align:right;">وبالإضافة للمكونات المطلوبة فغالبًا ما سترغب في إضافة المكونات التالية:</p><p style="text-align:right;">مرشح للرسائل المزعجة Spam Filter</p><p style="text-align:right;">مضاد فيروسات AntiVirus</p><p style="text-align:right;">تطبيق ويب للوصول للبريد Webmail</p><p style="text-align:right;">ومع أنّ بعض الحزم البرمجية تتضمّن وظائف عدّة مكونات فإن اختيار كل مكوّن يعود لك. بالإضافة للمكونات البرمجية فإن خادوم البريد يحتاج إلى نطاق وسجلات نظام أسماء النطاقات DNS بالإضافة لشهادة حماية SSL.</p><p style="text-align:right;">سنستعرض فيما يلي معلومات أوفى عن كل مكوّن.</p><h2 style="text-align:right;">وكيل نقل البريد MTA</h2><p style="text-align:right;">يعالج وكيل نقل البريد رسائل برتوكول إرسال البريد البسيط Simple Mail Transfer Protocol واختصارًا SMTP، ويُعنى بوظيفتين:</p><p style="text-align:right;">إرسال البريد من مستخدمي خادوم البريد الخاص بك إلى وكيل نقل بريد خارجي، أي إلى خادوم بريد آخر.</p><p style="text-align:right;">استقبال البريد من وكيل نقل بريد خارجي.</p><p style="text-align:right;">أمثلة على البرمجيات التي تقوم بوظيفة وكيل نقل البريد: بوست فيكس Postfix، إكزم Exim، سيند ميل Sendmail.</p><h2 style="text-align:right;">وكيل تسليم البريد MDA</h2><p style="text-align:right;">يدعى وكيل تسليم البريد أيضًا بوكيل التسليم المحلي Local Delivery Agent واختصارًا LDA ويقوم باستلام البريد من وكيل نقل البريد وتخزينه في صندوق بريد المستخدم المعني.</p><p style="text-align:right;">هنالك عدّة تنسيقات لصندوق البريد الإلكتروني كتنسيقي ميل بوكس mbox وميل دايَر Maildir. يدعم وكيل تسليم البريد تنسيقات صندوق بريد محدّدة، حيث تحدّد طريقة تخزين الرسائل على خادوم البريد بحسب تنسيق صندوق البريد المستخدم، والذي ينعكس على المساحة المستخدمة من وحدة التخزين وعلى أداء الخادوم عند الوصول إلى صندوق البريد.</p><p style="text-align:right;">أمثلة على البرمجيات التي تقوم بوظيفة وكيل تسليم البريد: بوست فيكس، دوف كوت Dovecot.</p><h2 style="text-align:right;">خادوم IMAP و/أو POP3</h2><p style="text-align:right;">إنّ IMAP و POP3 برتوكولان يستخدمهما تطبيقات البريد Mail Client، وتطبيقات البريد هي أي برمجية تستخدم لقراءة الرسائل الإلكترونية وجلبها. ولكل من هذين البرتوكولين تعقيداته إلا أننا سنلقي الضوء فيما يلي على أهم الفوارق الأساسية:</p><p style="text-align:right;">IMAP هو البرتوكول الأكثر تعقيدًا والذي يسمح بالعديد من الأمور بما فيها الوصول إلى صندوق بريد من قبل أكثر من تطبيق بشكل متزامن، بحيث تُرسل نسخ من الرسائل الإلكترونية إلى التطبيقات فيما تبقى الرسائل الأصلية مخزّنة على خادوم البريد.</p><p style="text-align:right;">أما POP3 فهو برتوكول أبسط ينقل الرسائل الإلكترونية إلى الحاسب المشغل لتطبيق البريد، والذي يكون في العادة حاسب المستخدم.</p><p style="text-align:right;">أمثلة على البرمجيات التي تقدم وظائف برتوكولي IMAP و POP3 على طرف الخادوم: كورير Courier، دوف كوت، زيمبرا Zimbra.</p><h2 style="text-align:right;">مرشح الرسائل المزعجة (سبام) Spam Filter</h2><p style="text-align:right;">إنّ الهدف من مرشح سبام تقليل عدد رسائل سبام الواردة إلى صندوق بريد المستخدم، والتي تدعى أيضًا رسائل جنك Junk. تنجز مرشحات سبام هذا العمل عبر تطبيق قواعد كشف رسائل سبام على الرسائل الواردة، حيث تأخذ تلك القواعد العديد من العوامل بعين الاعتبار كالخادوم الذي أرسل الرسالة ومحتوى الرسالة وما إلى هنالك. فإن بلغ مستوى سبام “ Spam Level” الخاص بالرسالة مستوىً معين فستُعد الرسالة رسالة سبام وتعامل على ذلك الأساس.</p><p style="text-align:right;">يمكن تطبيق مرشحات سبام على الرسائل الصادرة أيضًا، ويفيد ذلك إن كان حساب بريد أحد المستخدمين خطرًا فيقلل المرشح من عدد رسائل سبام التي قد ترسل من ذلك الحساب باستخدام خادوم البريد الخاص بك.</p><p style="text-align:right;">SpamAssassin هو مرشح سبام مشهور ومفتوح المصدر.</p><h2 style="text-align:right;">مضاد الفيروسات AntiVirus</h2><p style="text-align:right;">يستخدم مضاد الفيروسات لكشف الفيروسات Viruses والتروجانات Trojans والبرمجيات الخبيثة malware وأي تهديد في الرسائل الصادرة أو الواردة.</p><p style="text-align:right;">ClamAV هو مضاد فيروسات مشهور ومفتوح المصدر.</p><h2 style="text-align:right;">تطبيق ويب للوصول للبريد (ويب ميل) Webmail</h2><p style="text-align:right;">العديد من المستخدمين يتوقعون أن توفّر خدمة البريد الإلكتروني الخاص بهم امكانية الوصول للبريد عبر تطبيق ويب. عند الحديث عن تشغيل خادوم بريد فإن الويب ميل هو تطبيق بريد يمكن للمستخدمين الوصول اليه عبر متصفح الويب، وقد يكون Gmail أكثر الأمثلة شهرةً عن الويب ميل. يتطلّب Webmail خادوم ويب مثل Nginx أو Apache يمكن تشغيله على نفس خادوم البريد الإلكتروني.</p><p style="text-align:right;">أمثلة عن البرمجيات التي تقدم وظيفة ويب ميل: راوند كب Roundcube و كيتاديل Citadel.</p><h2 style="text-align:right;">الصيانة تستهلك الوقت</h2><p style="text-align:right;">والآن بعد أن اطّلعتَ على مكونات خادوم البريد التي عليك أن تثبتها وتهيئها، سنتعرف على السبب وراء كون الصيانة تستهلك الكثير من الوقت. هنالك مهام واضحة للصيانة كالإبقاء على مضاد الفيروسات وقواعد التصفية وكل مكونات خادوم البريد محدّثةً باستمرار ولكن يوجد أيضًا بعض المهام الأخرى التي قد لا تخطر على بالك.</p><h2 style="text-align:right;">تجنّب القوائم السوداء Blocklists</h2><p style="text-align:right;">يمثّل ابقاء خادوم البريد الخاص بك بعيدًا عن القوائم السوداء تحدٍ آخر لصيانة الخادوم، تُعرف تلك القوائم أيضًا بقوائم DNS السوداء DNSBL وأيضًا قوائم الثقب الأسود Blackhole Lists. تحوي تلك القوائم على عنوان الانترنت IP الخاص بخادوم البريد الذي أرسل رسالة سبام، أو الذي يملك سجلات DNS مهيّئة بشكل غير صحيح. العديد من خواديم البريد تشترك بواحدة أو أكثر من تلك القوائم وتصفي الرسائل الواردة اليها اعتمادًا على وجود الخادوم المرسل في تلك القوائم أو عدمه. إن أُدرج خادوم البريد الخاص بك ضمن القوائم السوداء فإن الرسائل الصادرة منه قد تصفى وتهمل قبل وصولها إلى مستلميها المقصودين.</p><p style="text-align:right;">إن أُدرج خادوم البريد الخاص بك على القوائم السوداء فمن الممكن عادةً أن يزال من عليها. عليك أن تعرف سبب إدراجه وتحل المشكلة وبعد ذلك عليك البحث عن طريقة إزالة خادومك من على القائمة التي تحويه ومن ثم تطبيقها.</p><h2 style="text-align:right;">استكشاف الأخطاء واصلاحها أمرٌ صعب</h2><p style="text-align:right;">على الرغم من أن معظم الناس يستخدمون البريد الإلكتروني كل يوم فمن السهل أن يغفلوا عن حقيقة أنه نظامٌ معقد قد يصعب استكشاف أخطائه وإصلاحها. فمثلًا إن لم تستقبل رسائلك المرسلة فمن أين تبدأ في حل المشكلة؟ قد تكون المشكلة في تهيئة أحد المكونات العديدة لخادوم البريد بشكل خاطئ كضبط مرشح سبام للرسائل الصادرة بشكل خاطئ أو قد تكون المشكلة خارجية كأن يُدرج خادومك على القوائم السوداء.</p><h2 style="text-align:right;">بدائل أسهل - خدمات بريد</h2><p style="text-align:right;">الآن بعد أن تعرّفت على الأسباب التي قد تجعلك لا ترغب بشغيل خادوم بريد خاص بك اليك بعض البدائل. غالبًا ما ستلبي خواديم البريد التالية احتياجاتك وستتيح لك ولتطبيقاتك إرسال واستقبال الرسائل الإلكترونية من نطاقك:</p><p style="text-align:right;">• <a rel="external nofollow" href="https://www.digitalocean.com/community/tutorials/how-to-set-up-gmail-with-your-domain-on-digitalocean">Google Apps</a></p><p style="text-align:right;">• <a rel="external nofollow" href="https://www.digitalocean.com/community/tutorials/how-to-set-up-zoho-mail-with-a-custom-domain-managed-by-digitalocean-dns">Zoho</a></p><p style="text-align:right;">• <a rel="external nofollow" href="https://www.fastmail.com/">FastMail</a></p><p style="text-align:right;">• <a rel="external nofollow" href="https://www.gandi.net/">Gandi </a>(تتطلب تسجيل النطاق عن طريقهم)</p><p style="text-align:right;">• <a rel="external nofollow" href="http://products.office.com/en-us/business/compare-office-365-for-business-plans">Microsoft Office365</a></p><p style="text-align:right;">لا تتضمن القائمة السابقة كل خدمات البريد البديلة؛ فهنالك العديد من الخدمات الأخرى ولكل منها مزاياها وأسعارها. احرص على اختيار الخدمة التي توفّر الميزات التي تلبي حاجتك وبالسعر الذي ترغب به.</p><h2 style="text-align:right;">بدائل أسهل - بوست فيكس للبريد الصادر</h2><p style="text-align:right;">إن كنت تحتاج فقط لإرسال البريد من تطبيقٍ ما على خادومك ولا ترغب في إعداد خادوم بريد كامل المزايا فبإمكانك إعداد وكيل نقل بريد بسيط مثل بوست فيكس. بعد ذلك عليك تهيئة التطبيق الذي تشغله على خادومك لاستخدام تطبيق sendmail كناقل للبريد Mail Transport للرسائل الصادرة.</p><p dir="rtl">ترجمة - وبتصرّف - للمقال <a rel="external nofollow" href="https://www.digitalocean.com/community/tutorials/why-you-should-not-run-your-own-mail-server">Why you Should Not Run Your Own Mail Server</a> لصاحبه <a rel="external nofollow" href="https://www.digitalocean.com/community/users/manicas">Mitchell Anicas</a></p>
]]></description><guid isPermaLink="false">6</guid><pubDate>Wed, 04 Mar 2015 01:01:00 +0000</pubDate></item><item><title>&#x627;&#x633;&#x62A;&#x642;&#x628;&#x627;&#x644; &#x631;&#x633;&#x627;&#x626;&#x644; &#x627;&#x644;&#x628;&#x631;&#x64A;&#x62F; &#x627;&#x644;&#x625;&#x644;&#x643;&#x62A;&#x631;&#x648;&#x646;&#x64A; &#x639;&#x644;&#x649; &#x62E;&#x648;&#x627;&#x62F;&#x64A;&#x645; Ubuntu /Debian &#x648;&#x62A;&#x645;&#x631;&#x64A;&#x631;&#x647;&#x627; &#x625;&#x644;&#x649; &#x639;&#x646;&#x627;&#x648;&#x64A;&#x646; &#x623;&#x62E;&#x631;&#x649; &#x628;&#x627;&#x633;&#x62A;&#x62E;&#x62F;&#x627;&#x645; Postfix</title><link>https://academy.hsoub.com/devops/servers/mail/%D8%A7%D8%B3%D8%AA%D9%82%D8%A8%D8%A7%D9%84-%D8%B1%D8%B3%D8%A7%D8%A6%D9%84-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-%D8%B9%D9%84%D9%89-%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-ubuntu-debian-%D9%88%D8%AA%D9%85%D8%B1%D9%8A%D8%B1%D9%87%D8%A7-%D8%A5%D9%84%D9%89-%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-%D8%A3%D8%AE%D8%B1%D9%89-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-postfix-r2/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2015_02/postfix.png.2ebbdfc4e4ff36750275a6d0437db017.png" /></p>

<p dir="rtl">
	الآن وبعد أن قررت الانتقال إلى خادوم خاص (أو <a data-ss1634026515="1" href="http://www.digitalocean.com/?refcode=bdf04d0afb57" rel="external nofollow">VPS</a>) وأطلقت تطبيق الويب الذي عملت عليه لأسابيع طويلة، وصلت إلى مرحلة تحتاج فيها  إلى استقبال رسائل بريد إلكتروني، لكنك لا ترغب في أن تنشر عنوانك على Gmail أو Yahoo بل تود أن تستخدم عنوان بريد إلكتروني "احترافي" يحتوي اسم النطاق الخاص بك على شاكلة <a data-ss1634026515="1" href="mailto:myname@mydomain.com" rel="">myname@mydomain.com</a>.
</p>

<p dir="rtl">
	الحل يكمن في تنصيب خادوم بريد إلكتروني، أو استخدام عميل تمرير البريد الإلكتروني يقوم  باستقبال، توصيل وإعادة توجيه رسائل البريد الإلكتروني.
</p>

<p dir="rtl">
	تنصيب خادوم بريد إلكتروني كامل باستخدام postfix يتطلب الكثير من الجهد والوقت، وحتى ولو قمت بذلك فإنك لن تحصل على تجربة مُستخدم مُماثلة لتلك التي ألفتها على خدمات البريد الإلكتروني الشهيرة كخدمة Gmail. بإمكانك الجمع ما بين الأمرين (أي استقبال رسائل مُرسلة إليك عبر اسم نطاق موقعك والحصول على تجربة مُستخدم Gmail) عبر استخدام خدمة Google apps مدفوعة الأجر مثلا، لكن بإمكانك أيضا القيام بذلك عبر استقبال الرسائل عبر postfix وتمريرها إلى بريدك الإلكتروني المُفضل.
</p>

<p dir="rtl">
	سنقوم في هذا المقال باستعراض الخُطوات اللازمة للقيام بذلك على خواديم Ubuntu / Debian. قم بالتعديل حسبما يُناسبك إن كنت تستخدم توزيعة مُختلفة.
</p>

<h2 dir="rtl">
	تنصيب Postfix
</h2>

<p dir="rtl">
	تنصيب Postifx سهل وبسيط، حيث يكفي تنفيذ الأمر التالي:
</p>

<pre class="php ipsCode prettyprint">
$ sudo apt-get install postfix</pre>

<p dir="rtl">
	سيتم طرح بعض الأسئلة عليك لدى تنصيب التطبيق، قم بالإجابة عنها وفق ما يتناسب مع مُتطلباتك وبُمجرد أن يتم الفراغ من التنصيب سيتم تشغيل خادوم البريد الإلكتروني بشكل آلي.
</p>

<pre class="php ipsCode prettyprint">
$ sudo service postfix status
* postfix is running</pre>

<p dir="rtl">
	بإمكانك التحقق من أن Postix يستمع للمنفذ 25 باستخدام أمر netstat
</p>

<pre class="php ipsCode prettyprint">
$ sudo netstat -ltnp | grep 25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1926/master
tcp6 0 0 ::1:25 :::* LISTEN 1926/master</pre>

<p dir="rtl">
	العمود الأخير يُظهر pid الخاص بـ postfix
</p>

<h2 dir="rtl">
	تحقق من DNS الخاص باسم النطاق الخاص بك
</h2>

<p dir="rtl">
	قبل أن نقوم بإعداد Postfix لتمرير الرسائل التي يتم إرسالها إلى اسم النطاق المعني بالأمر يجب أولا أن نتحقق من أن سجلات MX مُوجهة إلى الخادوم المُناسب. بإمكاننا القيام بذلك باستخدام الأمر dig على النحو التالي:
</p>

<pre class="php ipsCode prettyprint">
$ dig binarytides.com mx

; &lt;&lt;&gt;&gt; DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 &lt;&lt;&gt;&gt; binarytides.com mx
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 7230
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;binarytides.com. IN MX

;; ANSWER SECTION:
binarytides.com. 85100 IN MX 10 mail.binarytides.com.

;; Query time: 74 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Fri Mar 28 08:59:17 IST 2014
;; MSG SIZE rcvd: 65</pre>

<p dir="rtl">
	مثلما تُلاحظه في قسم 'ANSWER SECTION' فإن mail.binarytides.com هو خادوم البريد الإلكتروني الخاص باسم النطاق binarytides.com.
</p>

<p dir="rtl">
	الآن يجب أن نتحقق من سجلات a الخاص بـ mail.binarytides.com والتي يجب أن تُظهر أن عنوان الـ IP صحيح
</p>

<pre class="php ipsCode prettyprint">
$ dig mail.binarytides.com a

; &lt;&lt;&gt;&gt; DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 &lt;&lt;&gt;&gt; mail.binarytides.com a
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 43356
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail.binarytides.com.          IN      A

;; ANSWER SECTION:
mail.binarytides.com.   85045   IN      A       173.255.230.5

;; Query time: 30 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Fri Mar 28 09:00:19 IST 2014
;; MSG SIZE  rcvd: 65</pre>

<p>
	 
</p>

<h2 dir="rtl">
	إعداد Postfix لتحويل رسائل البريد الإلكتروني
</h2>

<p dir="rtl">
	لتحويل الرسائل التي نستقبلها يجب أولا أن نعرف مسار مُجلد الإعدادات باستخدام الأمر postconf
</p>

<pre class="php ipsCode prettyprint">
$ postconf | grep config_directory
config_directory = /etc/postfix</pre>

<p dir="rtl">
	ومن ثم نقوم بتحرير ملف الإعدادات main.cf
</p>

<pre class="php ipsCode prettyprint">
/etc/postfix/main.cf
</pre>

<p dir="rtl">
	وإضافة السطرين التاليين:
</p>

<pre class="php ipsCode prettyprint">
virtual_alias_domains = mydomain.com myanotherdomain.com
virtual_alias_maps = hash:/etc/postfix/virtual
</pre>

<p dir="rtl">
	في السطر الأول نقوم بتحديد كافة النطاقات التي نرغب في أن يقوم postfix باستقبال الرسائل المُرسلة إليها. يجب الفصل ما بين كل اسم نطاق وآخر بمسافة.
</p>

<p dir="rtl">
	أما السطر الثاني virtual_alias_mapsفيُبين الملف الذي يحتوي آلية الربط ما بين العناوين المُستقبلة والعناوين المُمرر إليها.
</p>

<p dir="rtl">
	الآن يكفي أن تقوم بفتح ملف /etc/postfix/virtual (أو إنشائه إن لم يكن موجودا) وإضافة العناوين التي ترغب فيها على النحو التالي:
</p>

<pre class="php ipsCode prettyprint">
# تمرير رسائل عنوانين
contact@mydomain.com myself@gmail.com
sales@mydomain.com myself@gmail.com</pre>

<p dir="rtl">
	العنوان الأول في كل سطر هو عنوان الاستقبال والعنوان الثاني هو العنوان الذي سيتم تحويل الرسائل إليه.
</p>

<p dir="rtl">
	بإمكان تحويل نفس الرسالة إلى أكثر من عنوان في نفس الوقت على النحو التالي:
</p>

<pre class="php ipsCode prettyprint">
contact@mydomain.com myself@gmail.com mystaff@gmail.com</pre>

<p dir="rtl">
	كما أنه بإمكانك تحويل جميع الرسائل المُرسلة إلى اسم نطاق مُعين:
</p>

<pre class="php ipsCode prettyprint">
# تحويل جميع الرسائل
@mydomain.com myself@gmail.com mystaff@gmail.com</pre>

<p dir="rtl">
	بعد الفراغ من إضافة جميع العناوين، احفظ الملف وقم بتنفيذ الأمر التالي لأخذها في الحسبان (تحديث جدول lookup الخاص بـ postfix)
</p>

<pre class="php ipsCode prettyprint">
$ postmap /etc/postfix/virtual</pre>

<p dir="rtl">
	ثم إعادة تحميل إعدادات postfix
</p>

<pre class="php ipsCode prettyprint">
$ sudo service postfix reload</pre>

<p dir="rtl">
	بإمكانك التحقق من أنك قمت بإضافة العناوين بشكل صحيح بتنفيذ الأمر التالي:
</p>

<pre class="php ipsCode prettyprint">
$ postconf -n | grep virtual
virtual_alias_domains = mydomain.com myanotherdomain.com
virtual_alias_maps = hash:/etc/postfix/virtual</pre>

<h2 dir="rtl">
	أرسل رسالة تجريبية
</h2>

<p dir="rtl">
	الآن قم بإرسال رسالة إلى هذه العناوين الجديدة وتحقق من وصولها إلى عناوين التمرير التي اخترتها
</p>

<p dir="rtl">
	لا تنس أن تقوم بإعداد Gmail (أو أية خدمة بريد أخرى) لتُرسل الرسائل باستخدام اسم النطاق الخاص بك (ستجد ذلك في إعدادات الخدمة)، وحينها سيكون لديك بريد إلكتروني "احترافي" من دون أن تدفع سنتا إضافيا.
</p>

<p dir="rtl">
	ترجمة -وبتصرف- للمقال: <a data-ss1634026515="1" href="http://www.binarytides.com/postfix-mail-forwarding-debian/" rel="external nofollow">Setup mail forwarding in postfix on Ubuntu or Debia</a>
</p>
]]></description><guid isPermaLink="false">2</guid><pubDate>Sat, 28 Feb 2015 18:16:00 +0000</pubDate></item></channel></rss>
