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

ارسال email alerts از لینوکس

وظیفه مدیر سرور بررسی نمودن و اطمینان از عملکرد درست سرور و سرویس های آن است. مدیران باید به سرور متصل شده (یا از راه دور و یا به صورت محلی) و از عملکرد درست سرور اطمینان کسب کنند. اما می توان به گونه ای عمل کرد که نیاز به اتصال دائمی به سرور و بررسی درستی یا نادرستی عملکرد آن نداشته باشیم، بلکه در صورت عملکرد نادرست سرور مانند بار زیاد بر روی پردازنده، کمبود فضای دیسک یا swap یااز کار افتادن سک سرویس مانند ftp یک پیغام هشدار به صورت ایمل (email alerts) به پست الکترونیکی (رایانامه) مدیر ارسال شود.

حتی می توان با نوشتن یک شل اسکریپت و زمانبندی خودکار آن، به صورت خودکار درستی و نادرستی سیستم را به مدیر ارسال شود. برای این منظور (email alerts) می توان از ssmtp استفاده کرد. ssmtp قابلیت دریافت یا recive ایمل را ندارد، اما قابلیت ارسال ایمل به mail server ها (مانند Gmail)  را دارد. پس ssmtp بر خلاف نرم افزار هایی مانند sendmail, postfix و یا qmail یک Mail Server نیست.

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

  • نصب در RHLE/CentOS/Oracle Linux نسخه 6

yum -y install ssmtp

  • نصب در Ubuntu/Debian

apt-get install ssmtp

  • نصب در openSUSE

zypper -n in ssmtp

  • نصب در آرچ

pacman -Ss ssmtp

پیکربندی ssmtp

پس از نصب باید آنرا پیکربندی کنیم. فایل ssmtp.conf زیر دایرکتوری etc/ssmtp/ برای پیکربندی ssmtp باید ویرایش شود. من از اکانت gmail در پیکربندی استفاده می کنم. شما می توانید از هر پست الکترونیکی دیگری استفاده کند. پس لازم است که فایل ssmtp.conf را برای ویرایش شدن باز کنید.

vi /etc/ssmtp/ssmtp.conf

خطوطی که در ابتدای آنها علامت # وجود دارند به صورت Comment هستند. همچنین پارامتر ها به صورت زیر هستند.

PARAMETER_NAME=VALUE

  • پارامتر root : تعیین کننده پست الکترونیکی است که پیغام های هشدار به صورت خودکار به آن ارسال می شوند. خط زیر آنرا با آدرس gmail خودم مقدار دهی کرده ام.

[email protected]

  • پارامتر mailhub : این پارامتر mail server یعنی جایی که نامه های الکترونیکی از ماشین لینوکسی به آن ارسال می شوند را تعیین می کند. برای gmail و با استفاده از پروتکل smtp باید به صورت زیر (بر روی پورت 587) تنظیم شود.

mailhub=smtp.gmail.com:587

می توانید از این لینک درباره gmail بخوانید. برای outlook.com به صورت زیر است

mailhub=smtp.live.com:587

و اطلاعات بیشتر را می توانید از این لینک بخوانید. با تنظیمات بالا آدرس ایملی که باید پیغام های هشدار به طور به آن ارسال شوند و همچنین آدرس mail server نیز مشخص شد. با تنظیمات زیر به ترتیب حساب کاربری و استفاده از TLS را مشخص می کنیم. حساب کاربری متشکل از نام کاربری که همان آدرس ایمیل ([email protected]) و پسورد است.

[email protected]

AuthPass=MyPassword

UseTLS=YES

UseSTARTTLS=YES

  • پارامتر rewriteDomain : مقدار این پارامتر را به دامنه gmail.com تنظیم کنید.

rewriteDomain=gmail.com

  • پارامتر hostname : نام هاست ماشین ارسال کننده ایمل را نگه می دارد.

hostname=centos-falearn

  • پارامتر FromLineOverride : که باید yes باشد

FromLineOverride=yes

تنظیمات اضافی

  • به دلیل اینکه پسورد آدرس پست الکترونیکی به صورت واضخ در فایل ssmtp.conf ذخیره شده است و دیگران می توانند با دستور هایی مانند cat,less یا vi آنرا ببیندد، پس بهتر است با دستور زیر مجوز read,write,execute را از دیگران بگیرید.

chmod 640 /etc/ssmtp/ssmtp.conf

  • همچنین در صورت لزوم برای جلوگیری از خطای “/etc/ssmtp/ssmtp.conf not found” گروه فایل را به mail تغییر دهید.

chown root:mail /etc/ssmtp/ssmtp.conf

فایل revaliases

این فایل آنچه که در فیلد From پست الکترونیکی است را مشخص می کند.

vi /etc/ssmtp/revaliases

فرمت هر خط آن به صورت زیر است

local_account:outgoing_address:mailhub

مانند

root:[email protected]:smtp.gmail.com:587

تست عملکرد ssmtp

دستور زیر را در خط فرمان اجرا کنید.

echo test | mail -v -s “testing ssmtp setup” [email protected]

یا دستور زیر که وضعیت دیسک را میل می کند. کاربری که دستور را اجرا کرده amirnami است و ترکیب [email protected] مشخص است. این ترکیب

df -h | mail -s “Disk Status” [email protected]



برچسب ها : , , , , ,