منبع اصلی نوشتار زیر در این لینک قرار دارد

الگوریتم تبدیل infix یک عبارت محاسبایی به postfix و prefix

    فرض کنید عبارت زیر را دارید : ((a+b)*(c-d))/(e-f) عبارت بالا یک عبارت infix (میان ترتیب) است زیرا عملگر بین عملوند هایش آمده است ، به طور مثال در عبارت بالا ” – ” بین c و d آمده است. در این پست عباراتی را که بررسی می کنیم شامل عملگرهای + , – , / […]

Related Posts:

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

DKIM بر روی سرورهای Debian و جلوگیری از اسپم شدن ایمیل‌ها

طی چندسال اخیر یکی از مشکلاتی که با شرکت‌های ارائه دهنده خدمات هاستیگ داشتم اسپم شدن ایمیل‌های ارسالی از میل سرور آنها و از طرف سرویس دهنده‌هایی مثل Gmail و Yahoo بود و این مشکل معمولا برای اکثر شرکت های ایرانی به دلیل عدم کانفیگ درست میل سرور وجود داشت. این مسئله به صورت پیشفرض […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

DKIM بر روی سرورهای Debian و جلوگیری از اسپم شدن ایمیل‌ها

طی چندسال اخیر یکی از مشکلاتی که با شرکت‌های ارائه دهنده خدمات هاستیگ داشتم اسپم شدن ایمیل‌های ارسالی از میل سرور آنها و از طرف سرویس دهنده‌هایی مثل Gmail و Yahoo بود و این مشکل معمولا برای اکثر شرکت های ایرانی به دلیل عدم کانفیگ درست میل سرور وجود داشت. این مسئله به صورت پیشفرض […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

سرویس دهنده ایمیل روی دبیان

امروزه یکی از گسترده ترین روش های تبادل اطلاعات استفاده
از ایمیل می باشد ، در این راستا فردی که لینوکسی بوده و به عنوان ادمین
سیستم کار می کند باید با روش ایجاد یک سرور ایمیل روی سرویس دهنده لینوکسی
آشنا باشد ، در این نوشته بر آن هستیم تا روش ایجاد یک سرویس دهنده ساده
ایمیل با استفاده از postfix , Dovecot و نام کاربری سیستم لینوکسی را به
زبانی ساده در لینوکس دبیان اسکوئیز بیان کنیم

در اولین قدم بسته های مورد نیاز را نصب می کنیم :
$ apt-get install libsasl2-2 libsasl2-modules sasl2-bin postfix dovecot-common dovecot-imapd dovecot-pop3d
هنگام نصب بسته ها به دو مورد دیالوگ بر خواهیم خورد که در دیالوگ اول باید Internet Site و در دیالوگ دوم نیز باید hostname سیستم لینوکسی خود یا آدرس دامنه مورد نظر را وارد کنیم ، با جواب دادن به این دو دیالوگ مرحله نصب بسته ها به پایان خواهد رسید . بعد از نصب نیاز به کانفیگ است :
$ nano /etc/default/saslauthd

START=yes

بعد از ویرایش فایل بالا باید یک فایل جدید ایجاد می کنیم
$ nano /etc/postfix/sasl/smtpd.conf
 و خط زیر را به آن اضافه می کنیم

pwcheck_method: saslauthd

فایل را ذخیره کرده و می بندیم و سرویس saslauthd را استارت می کنیم
$ service saslauthd start
با دستور زیر یک SSL برای postfix و dovecot ایجادمی کنیم
$ openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/postfix.pem -keyout /etc/ssl/private/postfix.key
 بعد از ایجاد ایجاد SSL فایل کانفیگ postfix را باز کرده
$ nano /etc/postfix/main.cf
 و خطوط زیر را به آن اضافه می کنیم

smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
smtpd_tls_key_file=/etc/ssl/private/postfix.key

smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth-client
smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_application_name = smtpd
broken_sasl_auth_clients = yes
#سه خط پایینی را در یک خط قرار دهید
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

virtual_alias_maps = hash:/etc/postfix/virtual
home_mailbox = Maildir/

فایل کانفیگ را ذخیره و می بندیم ، بعد از آن فایل زیر را باز کرده و آدرس های ایمیل های ویچرال را به آن اضافه کنید 

$ nano /etc/postfix/virtual 

admin@your-domain.com    admin
support@your-domain.com        admin

حالا این ویچرال ایمیل ها چیست و به چه دردی می خورد : فرض کنید شما روی سیستم خود یک یوزر به نام admin دارید در این صورت شما یک آدرس ایمیل به صورت admin@you-domain.com خواهید داشت  که ایمیل های مربوط به این آدرس را در یک دایرکتوری به نام Maildir در دایرکتوری خانگی admin دریافت می کنید حالا می خواهید یک ایمیل غیر یوزری همانند support@your-domain.com داشته باشید که ایمیل ارسال های شده برای این آدرس توسط admin دریافت شود که این کار را postfix با استفاده از ویچرال ها انجام می دهد 
در صورتی که دوست دارید ایمیل های مربوط به root را توسط یوزر دیگری همجون admin دریافت کنید به صورت زیر عمل کنید 
$ nano /etc/aliases
و خط زیر را به آن اضافه کنید 

root:    admin

فایل را ذخیره و دستورات زیر را اجرا کنید 
$ postalias /etc/aliases
$ postmap /etc/postfix/virtual
$ service postfix restart
حالا باید dovecot را کانفیگ کرد 
$ cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf-backup
$ rm /etc/dovecot/dovecot.conf

$ nano /etc/dovecot/dovecot.conf

و خطوط زیر را به آن اضافه می کنیم
protocols = imap pop3                  
log_timestamp = \”%Y-%m-%d %H:%M:%S \”
mail_privileged_group = mail
ssl_cert_file = /etc/ssl/certs/postfix.pem
ssl_key_file = /etc/ssl/private/postfix.key
mail_location = maildir:Maildir
protocol imap {
}

protocol pop3 {
    pop3_uidl_format = %08Xu%08Xv
}

protocol managesieve {
}

auth default {
      mechanisms = plain login
      passdb pam {
      }
      userdb passwd {
      }
      socket listen {
        client {
          path = /var/spool/postfix/private/auth-client
          mode = 0660
          user = postfix
          group = postfix
        }
      }
    }

dict {
}

plugin {
}

و سرویس dovecot را ریستارت می کنیم
$ service dovecot restart
به این نکته توجه داشته باشید در بعضی از مواقع dovecot موقع بوت سیستم اجرا نمی شود در این صورت به صورت زیر عمل کنید 
$nano /etc/rc.local
و خطوط زیر را به آن اضافه کنید 
service dovecot start
service dovecot restart
اصلاحیه به تاریخ ۱۳۹۰/۰۲/۰۶ :
بعضی وقت ها مشاهده شده است که کاربر قادر به دریافت ایمیل ها در Inbox خود نیست این مشکل از procmail می باشد و برای رفع آن به صورت زیر عمل کنید 
ابتدا یک فایل جدید به نام procmailrc ایجاد کنید 
$ touch /etc/procmailrc
سپس خطوط زیر را به آن افزوده و سرویس postfix را ریستارت کنید 
$ nano /etc/procmailrc
DEFAULT=$HOME/Maildir/
ORGMAIL=${HOME}/Maildir/
DEFAULT=${ORGMAIL}
$ service postfix restart
 

ادامه مطلب

به سیاره لینوکس امتیاز دهید

به اين صفحه امتياز دهيد