اینترنت پنجره ها اندروید
بسط دادن

پیکربندی Sendmail نصب و پیکربندی Sendmail در اوبونتو نصب و پیکربندی sendmail ubuntu

این در سال 1983 ظاهر شد ، اما تا به امروز به طور فعال مورد استفاده قرار می گیرد. از ویژگی های کلیدی آن می توان به پشتیبانی از بسیاری از سیستم عامل های موجود و همچنین رایگان بودن آن اشاره کرد. این برنامه دارای کد منبع باز است. این بدان معناست که هرکس می تواند عملکرد خود را به آن اضافه کند یا به دلخواه تغییر دهد. در سیستم عامل اوبونتو ، Sendmail که از طریق خط فرمان لینوکس پیکربندی شده است ، به لطف پشتیبانی خوب و ویژگی های غنی ، ریشه دوانده است.

پردازنده پیام - Sendmail - در حوزه تجارت گسترده شده است.

امروزه "پردازنده پیام" Sendmail Sentrion ، که با در نظر گرفتن نیازهای شرکت های بزرگ ایجاد شده است ، بسیار رایج است. ویژگی های متمایز آن بهره وری بالا و یکپارچگی خوب با کلیه فرایندهای تجاری است. Sentrion به همراه فناوری های جدید ، برنامه های قدیمی را ارائه می دهد که به خوبی ریشه دوانده اند. همچنین ، این برنامه به اندازه کافی دوستانه است تا مناسب کاربران خانگی باشد.

نصب برنامه

شما باید Sendmail را بر اساس یک سرور محلی یا سرور وب نصب کنید. در حالت دوم ، نماینده نامه کاربردی تر خواهد بود. برای به دست آوردن همه اجزای یک سرور وب ، به یک پشته از اجزای LAMP نیاز دارید. می توان آن را در مخزن پیدا کرد.

مهم. قبل از نصب نرم افزار جدید ، فراموش نکنید که لیست بسته ها را در مخزن محلی با استفاده از دستور به روز کنید

"$ Sudo apt-get update"

نصب Sendmail با دستور "sudo apt install sendmail" آغاز می شود ، که بسته های نماینده نامه را بارگیری می کند.

"Mcedit / etc / host"
"سودو sendmailconfig"

پس از آن ، باید خدمات خود برنامه و همچنین سرور وب Apache را مجدداً راه اندازی کنید:

"Sudo /etc/init.d/sendmail راه اندازی مجدد"
"راه اندازی مجدد سودو /etc/init.d/apache2"

در صورت لزوم ، می توانید ابزارهای کار با نامه را نصب کنید:

"Sudo install mailutils"

ما تست عملکرد کل سیستم را بررسی می کنیم:

"your_mail را ایمیل کنید< /dev/null»

جایی که "your_mail" آدرس پستی فعلی است.

در نهایت ، اجازه دهید فایل log را بررسی کنیم. این فایل سرویس نامه است که در آن خطاهای نصب نمایش داده می شود:

دم -f /var/log/mail.log

فقط باید به جعبه ایمیل بروید. قبلاً باید یک پیام آزمایشی در آن وجود داشته باشد.

بنابراین شما در مورد برنامه اوبونتو به نام Sendmail اطلاعات بیشتری کسب کرده اید که پیکربندی آن بسیار آسان بوده است. اگر در مورد جنبه های دیگر کار با برنامه های لینوکس س questionsالی دارید - در صفحات سایت ما به دنبال پاسخ آنها باشید!

این کتاب با جزئیات تنظیمات خدمات شبکه را توضیح می دهد که به شما امکان می دهد سرور با پیکربندی و عملکرد مورد نیاز را بر اساس سیستم عامل لینوکس ایجاد کنید. می توانید هر نوع سروری را تنظیم کنید: از سرور شبکه محلی گرفته تا سرور اینترنت و سرور دسترسی از راه دور. مدیریت لینوکس به تفصیل توضیح داده شده است.

این ارائه بر اساس توزیع Red Hat و Mandrake است. بسیاری از اطلاعات منحصر به فرد: اجرای بازی های ویندوز تحت لینوکس و ایجاد سرور لینوکس برای سالن بازی ، راه اندازی Dr. وب و AVP برای لینوکس ، نرم افزار حسابداری ترافیک MRTG ، سیستم حفاظت و تشخیص LIDS و موارد دیگر. توجه ویژه ای به امنیت سرورهای لینوکس می شود. سیستم عامل لینوکس خود با جزئیات کافی توصیف شده و مرجعی از دستورات آن ارائه شده است. پس از خواندن کتاب ، صاحب دانش پیکربندی و کامپایل هسته ، ایجاد بسته های rpm مخصوص خود ، پوسته bash و استفاده از آرایه های RAID خواهید شد. با دنیای داخلی لینوکس آشنا می شوید. این کتاب برای مدیران حرفه ای و تازه کار مناسب است ، زیرا ارائه مطالب با نصب سیستم عامل لینوکس آغاز می شود و فصل اول فن آوری ها و پروتکل های اساسی شبکه (دوره مدیر جوان) را شرح می دهد.

تمام فهرست های موجود در این کتاب در عمل آزمایش شده اند و می توانند در سی دی ضمیمه شده یافت شوند. علاوه بر این ، حاوی اطلاعات مرجع زیادی (HOWTO ، RFC) ، و همچنین مقالاتی در لینوکس است. مجموعه ای غنی از ابزارها و نرم افزارهای کمکی برای سرور (Apache ، MySQL ، MRTG و غیره) قرار دارد.

کتاب:

اگر از توزیع سازگار با RedHat استفاده می کنید ، باید بسته های مناسب را نصب کنید. من از sendmaiI-8.11.0 و imap-4.7c2 استفاده می کنم. آخرین نسخه sendmail را می توانید از اینترنت در http://www.sendmail.org بارگیری کنید.

قبل از شروع به پیکربندی sendmail ، باید DNS را به درستی پیکربندی کنید. راه اندازی سرور DNS به تفصیل در فصل 4 مورد بحث قرار گرفت. 10. اگر فقط سرور ایمیل را پیکربندی می کنید ، نیازی به پیکربندی سرور DNS در همان رایانه ندارید. کافی است سرورهای DNS شبکه خود را در فایل / etc /resolv.conf مشخص کنید تا سیستم وضوح نام به درستی کار کند. با این حال ، sendmail می تواند پیکربندی شود تا بدون استفاده از DNS کار کند ، اما من این گزینه را در نظر نمی گیرم.

برای شروع کار با تنظیمات اولیه sendmail ، برنامه netconf را اجرا کنید (شکل 13.1 را ببینید). هم از X-Window و هم از کنسول کار می کند. ابزار Netconf در Linux RedHat ، Mandrake ، ASPLinux و سایر توزیع ها موجود است ، اما مطمئناً در KSI Linux وجود ندارد. به طور طبیعی ، شما باید به عنوان root وارد سیستم شوید. اگر netconf ندارید ، از ویرایش دستی فایل /etc/sendmail.cf لذت خواهید برد. این فایل جایی است که همه تنظیمات sendmail ذخیره می شود.


شکل. 13.1 تنظیم کننده Netconf

سیستم تحویل ایمیل را از منو و سپس تنظیمات اولیه sendmail را انتخاب کنید. در قسمت Present your system as field ، فقط نام دامنه خود را وارد کنید. سپس حتماً کادر "Accept email for your_domain.com" را علامت بزنید (شکل 13.2 را ببینید). اگر این کار را نکنید ، سرور شما می تواند پیامها را به سرور دیگری هدایت کند. در عین حال ، ترافیک اضافی از طریق سرور شما عبور می کند ، که شما اصلا به آن احتیاج ندارید. روزی روزگاری حتی این نوع حمله رد از طریق ایمیل وجود داشت. اصل آن به شرح زیر است: نامه ای از یک کاربر ناشناس ارسال می شود [ایمیل محافظت شده]کاربر دیگری که وجود ندارد [ایمیل محافظت شده]نامه از طریق رایانه hostcom ارسال می شود ، که اجازه می دهد پیام مجدداً هدایت شود (حالت "پذیرش ایمیل برای domain.com" فعال نیست). سرور ایمیل دامنه B.com پیامی را به آدرس ارسال می کند [ایمیل محافظت شده]که کاربر [ایمیل محافظت شده]وجود ندارد. به نوبه خود ، ارسال کننده دامنه A.com به کاربر اطلاع می دهد [ایمیل محافظت شده]همچنین وجود ندارد و پیامی را به آدرس ارسال می کند [ایمیل محافظت شده]بازگشت غیر مستقیم رخ می دهد. حالا تصور کنید که چنین پیامی نه یک ، بلکه مثلاً 100 و حجم هر کدام حداقل 1 مگابایت باشد! در نتیجه ، یکی از سرورهای domain1.com - host.com - domain2.com باید "خراب" شود.


برنج. 13.2 پیکربندی اولیه ارسال نامه

با عرض پوزش ، من کمی از بحث خارج شدم ، اجازه دهید پیکربندی sendmail را ادامه دهیم. پروتکل ارسال پیام را روی smtp (پروتکل Mail gateway) تنظیم کنید.

این اطلاعات در حال حاضر برای راه اندازی sendmail شما کافی است. می توانید با استفاده از netconf گزینه های اضافی را برای برنامه sendmail تنظیم کنید.

اکنون آن را طوری تنظیم کنید که sendmail فقط نامه های آدرسهای مجاز را بپذیرد. برای انجام این کار ، شما حتی نیازی به پیکربندی خود sendmail ندارید - فقط باید فایلهای /etc/hosts.allow و /etc/hosts.deny را تغییر دهید. مورد اول شامل لیستی از میزبان هایی است که اجازه دسترسی به این دستگاه را دارند ، و دومی شامل لیستی از میزبان هایی است که رد شده اند. لطفا توجه داشته باشید: با وجود نام - "مجاز" یا "ممنوع" ، محدودیت هایی که توسط فایل اول تعیین شده است بسیار شدیدتر است. به عنوان مثال ، برای عدم دسترسی به همه میزبانها به جز رایانه های موجود در شبکه خود ، خط 192.168.1 را به فایل /etc/hosts.allow اضافه کنید.

در اینجا منظور ما این است که شبکه دارای آدرس 192.168.1.0 و ماسک 255.255.255.0 است. با وارد کردن دستور man hosts.allow ، می توانید درباره قالب فایل های hosts.allow و hosts.deny بیشتر بخوانید.

حالا نوبت POP3 است. پس از نصب بسته imap ، تقریباً همه چیز را تنظیم کرده اید ، به عنوان مثال من می خواهم بگویم که در حال حاضر امکان پیکربندی وجود دارد. راه حل inetd یا xinetd را هر کدام که استفاده می کنید راه اندازی مجدد کنید و موارد زیر را وارد کنید:

تلنت<имя_только_созданного_почтовика> 25

در پاسخ ، باید چیزی شبیه به موارد زیر را مشاهده کنید:

192.168.1.1 را امتحان کنید ... ...
متصل به 192.168.1.1
شخصیت فرار است
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 یکشنبه ، 17 ژوئن
2001 10:54:22 +300

این بدان معناست که sendmail کار می کند ، باید دید چقدر آن را خوب انجام می دهد. برای انجام این کار ، چیزی شبیه به موارد زیر را وارد کنید:

نامه از: [ایمیل محافظت شده]
220 2.1.0 [ایمیل محافظت شده]…. فرستنده باشه
rcpt به: [ایمیل محافظت شده]
220 2.1.5 [ایمیل محافظت شده]…. گیرنده باشه

پس از آن دستور داده را وارد کنید ، سپس متن پیام ، و برای پایان دادن به ورود ، یک نقطه را در یک خط خالی قرار دهید. Sendmail به شما اطلاع می دهد که پیام ارسال شده است (دقیق تر ، در صف ارسال قرار گرفته است). ضبط [ایمیل محافظت شده]- نام کاربری که برای او نامه ارسال می کنید. کاربر باید واقعاً وجود داشته باشد. ورودی den.dhsilabs.com نام فرستنده شما است.

توجه داشته باشید. اسامی [ایمیل محافظت شده]و dhsilabs.com به عنوان مثال آورده شده است. در عوض باید ارزش های خود را ارائه دهید.

لطفاً توجه داشته باشید که هیچ میزبان my.host.com در طبیعت وجود ندارد و برنامه sendmail گزارش می دهد که "فرستنده خوب است". به همین دلیل بهتر است گزینه Wait for DNS را در تنظیمات sendmail فعال کنید.

اکنون باید برخی از سرویس گیرنده نامه ، به عنوان مثال kmail را راه اندازی کرده و نامه دریافت کنید. از تنظیمات شبکه زیر در برنامه kmail استفاده کنید: شبکه؟ ارسال مجموعه نامه SMTP ، پورت 25 ، نام سرور - نام فرستنده شما ، در این مثال den.dhsilabs.com است. سپس یک حساب برای POP3 اضافه کنید:

نام کاربری - den

رمز عبور - رمز عبوری که برای ورود به سیستم استفاده می شود.

سرور - den.dhsilabs.com

در نتیجه ، باید پیامی را که بعد از داده وارد کرده اید دریافت کنید. با این حال ، ممکن است مشکلاتی در حل نام وجود داشته باشد. برای جلوگیری از آنها ، باید DNS را به درستی پیکربندی کنید یا از آدرس IP آن به جای نام سرور ایمیل استفاده کنید. هنگام اضافه کردن یک کاربر جدید ، حتماً رمز ورود به سیستم را تعیین کنید. اگر این کار را نکنید ، اما سعی کنید نامه را بدون تعیین گذرواژه دریافت کنید ، یک پیام "تأیید هویت ناموفق بود" دریافت خواهید کرد.

پیکربندی اولیه sendmail با استفاده از تنظیم کننده بسیار آسان است ، اما گاهی اوقات پیکربندی اولیه کافی نیست. برای پیکربندی دقیق تر ، باید با فایل های پیکربندی برنامه sendmail آشنا شوید.

توجه داشته باشید.در بیشتر موارد ، از تنظیمات اولیه راضی خواهید بود تا زمانی که اسپمرها شما را تحت "حمایت" خود قرار دهند - سپس باید CH را بخوانید. 23 در مورد روش های محافظت در برابر هرزنامه ها. با این حال ، ممکن است یکی از قوانین مورفی کار کند - هیچ تنظیم کننده sendmail برای سیستم شما ایجاد نخواهد شد ، و سپس هنوز باید با فایلهای پیکربندی برخورد کنید.

فایل پیکربندی sendmail اصلی /etc/sendmail.cf است. در برخی از توزیع ها ، این فایل در فهرست / etc / mail قرار دارد. در مورد این پرونده گفته می شود که طول آن بیشتر از لیموزین بیل گیتس است و در حالت "چشم ها می ترسند ، دست ها انجام می دهند" ویرایش شده است. اگر من را باور ندارید ، این فایل را باز کنید و از آن مطمئن خواهید شد. فقط مدیران حرفه ای یا توسعه دهندگان sendmail می توانند این فایل را به صورت دستی ویرایش کنند.

به طور معمول ، پردازنده ماکرو m4 برای ویرایش این فایل استفاده می شود. ابتدا یک فایل mc مخصوص تهیه می کنید. این فایل شامل تنظیمات .sendmail است ، اما در شکل "خواندنی" تر. هنگام ویرایش فایل های پیکربندی ، اندازه آنها نیز تأثیر می گذارد. برای مقایسه ، فایل mc من 2459 بایت ، و فایل sendmail.cf من 46302 بایت است. ویرایش یک فایل دو کیلوبایت یک چیز است و زمانی که حجم فایل 46 کیلوبایت است ، کاملاً مهم است. برخلاف فایل پیکربندی sendmail ، بلافاصله متوجه خواهید شد که یک فایل mc خاص برای چیست. سپس ، پس از ویرایش فایل mc ، باید پردازنده ماکرو m4 را اجرا کنید تا فایل پیکربندی sendmail ایجاد شود:

m4 my_config.mc> /etc/sendmail.cf

قبل از اجرای این دستور ، من اکیداً توصیه می کنم که فایل منبع sendmail.cf را ​​در جایی ذخیره کنید. در صورت تنظیمات نادرست ، همیشه می توانید آن را بازیابی کنید.

فایل پیکربندی پیش فرض که توسط پردازنده ماکرو T4 برای ایجاد فایل پیکربندی برنامه sendmail (sendmail.cf) استفاده می شود در فهرست / usr / share / sendmail-cf / cf قرار دارد. در نسخه های قدیمی تر برنامه sendmail ، ممکن است در فهرست / usr / lib / sendmail قرار داشته باشد.

به طور معمول ، این فایل sendmail.mc نامیده می شود. اگر از سیستم عامل Red Hat یا سازگار با آن استفاده می کنید ، گاهی اوقات می توان آن را متفاوت نامید.

نمونه ای از یک فایل استاندارد /usr/share/sendmail-cf/cf/redhat.mc در فهرست 13.1 نشان داده شده است.

فهرست 13.1 فایل استاندارد redhat.mc

منحرف کردن (-1)
dnl این فایل پیکربندی ماکرو sendmail است. اگر تغییری در این فایل ایجاد کنید ،
dnl به sendmail-cf rpm نیاز دارید و سپس باید a را ایجاد کنید
dnl new /etc/sendmail.cf با اجرای دستور زیر: dnl
dnl m4 /etc/mail/sendmail.mc> /etc/sendmail.cf
dnl
شامل ("../ m4 / cf.m4")
VERSIONID ("راه اندازی لینوکس برای Red Hat Linux") dnl
OSTYPE ("لینوکس")
define ("confDEF_USER_ID"، "8:12") dnl
undefine ("UUCP_RELAY") dnl
تعریف نشده ("BITNET_RELAY") dnl
define ("confAUTO_REBUILD") dnl
define ("confTO_CONNECT"، "1m") dnl
تعریف ("confTRY_NULL_MX_LIST" ، درست) dnl
define ("confDONT_PROBE_INTERFACES" ، true) dnl
define ("PROCMAIL_MAILER_PATH"، " / usr / bin / procmail") dnl
define ("ALIAS_FILE"، " / eto / aliases") dnl
dnl تعریف ("STATUS_FILE" ، " / etc / mail / statistics") dnl
define ("UUCP_MAILER_MAX"، "2000000") dnl
define ("conf USERDB_SPEC"، "/etc/mail/userdb.db")dnl
define ("confPRIVACY_FLAGS"، "authorwarnings، novrfy، noexpn، limitedqrun") dnl
define ("confAUTH_OPTIONS"، "A") dnl
dnl TRUST_AUTH_MECH ("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define ("confAUTH_MECHANISMS"، "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl تعریف ("confTO_QUEUEWARN" ، "4h") dnl
dnl تعریف ("confTO_QUEUERETURN" ، "5d") dnl
dnl تعریف ("confQUEUE_LA" ، "12") dnl
dnl تعریف ("confREFUSE_LA" ، "18") dnl
dnl ویژگی (تأخیر_چک ها) dnl
ویژگی ("no_default_msa" ، "dnl") dnl
ویژگی ("smrsh" ، Vusr / sbin / smrsh ") dnl
ویژگی ("قابل ارسال" ، "hash-o /etc/mail/mailertable.db")dnl
ویژگی ("virtusertable" ، "hash –o /etc/mail/virtusertable.db")dnl
ویژگی (تغییر مسیر) dnl
ویژگی (همیشه_افزایش_دامین) dnl
ویژگی (use_cw_file) dnl
ویژگی (use_ct_file) dnl
ویژگی (local_procmail ، "" ، "procmail –t –Y –a $ h –d $ u") dnl
FEATURE ("access_db" ، "hash –o /etc/mail/access.db")dnl
FEATURE ("لیست سیاه_گیرندگان") dnl
EXPOSED_USER ("ریشه") dnl
dnl این امر باعث می شود تا sendmail فقط در دستگاه loopback 127.0.0.1 گوش دهد
dnl و روی هیچ دستگاه شبکه دیگری نیست. اگر می خواهید این مورد را کامنت کنید
dnl برای پذیرش ایمیل از طریق شبکه.
DAEMON_OPTIONS ("Port = smtp، Addr = 127.0.0.1، Name = MTA")
dnl توجه: اتصال هر دو IPv4 و IPv6 daemon به یک پورت نیاز دارد
dnl یک پچ هسته
dnl DAEMON_OPTIONS (xport = smtp ، Addr = :: 1 ، Name = MTA-v6 ، Family = inet6 ")
dnl ما اکیداً توصیه می کنیم اگر می خواهید محافظت کنید این مورد را کامنت کنید
خود را از هرزنامه ها پاک کنید با این حال ، لپ تاپ و کاربران روی رایانه که
آیا dnl DNS 24x7 ندارید به این نیاز دارید.
FEATURE ("domain_unresolvable_comcept") dnl
dnl FEATURE ("relay_based_on_MX") dnl
MAILER (smtp) dnl
MAILER (پیام رسان) dnl
Cwlocalhost.localdomain

از دستورالعمل FEATURE می توان برای اتصال یک یا عملکرد دیگر برنامه sendmail استفاده کرد. به عنوان مثال ، عملکرد mailertable برای نادیده گرفتن مسیریابی برای دامنه های خاص طراحی شده است. به راحتی می توانید عملکرد برنامه sendmail را با افزودن توابع مورد نظر خود به فایل mc گسترش دهید.

فرض کنید می خواهید نام رایانه های موجود در دامنه را مخفی کنید. این امر با افزودن تابع masquerade_envelope به فایل mc شما به راحتی حاصل می شود. برای این کار ، فایل redhat.mc را در فایل hide_hosts.me کپی کرده و خطوط زیر را به انتهای فایل hide_hosts.me اضافه کنید:

MASQUERADE_AS (my-domain.ru) dnl
ویژگی (masquerade_envelope) dnl

سپس دستور را اجرا کنید:

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

فقط همین! نام گره ها پنهان می شوند. شرح سایر توابع در جدول ارائه شده است. 13.1

توابع Sendmail جدول 13.1

عملکرد شرح
access_db جدول دسترسی را مشخص می کند. این جدول میزبانهایی را که مجاز به ارسال نامه از طریق سرور ایمیل شما هستند یا رد شده اند ، فهرست می کند. این گزینه به طور مثر برای مبارزه با هرزنامه ها استفاده می شود. حفاظت از هرزنامه ها به طور مفصل در بخشی به همین نام در Ch مورد بحث قرار گرفته است. 23
دامنه های_قابل حل را بپذیرید امکان ارسال نامه به دامنه هایی که قابل تشخیص نیستند را می دهد
bestmx_is-local پیامها فقط در صورتی پذیرفته می شوند که ضبط MX DNS به این سرور ایمیل اشاره کند
لیست سیاه_ گیرندگان "لیست سیاه". گزینه دیگری برای مبارزه با هرزنامه ها. گزینه access_db برای کار لازم است.
dnsbl dnsbl که برای کار با لیست سیاه استفاده می شود ، مخفف DNS Black List است. در نسخه های قبلی ، این گزینه (Resolve Black List) نامیده می شد
قابل تزئین برای حل نام دامنه استفاده می شود
به طور کلی ثابت برای تغییر آدرس ارسال در پیام ها استفاده می شود
local_procmail نشان می دهد که نامه باید با استفاده از برنامه پیام رسان محلی تحویل داده شود
قابل ارسال مسیر یابی برای دامنه های خاص را لغو می کند
masquerade_entire_domain برای پوشاندن (مخفی کردن) کل دامنه استفاده می شود. این تابع باید همراه با دستورالعمل MASQUERADE AS (یا MASQUERADE_DOMAIN) استفاده شود ، به عنوان مثال ، MASQUERADE_AS (f117.ru) dnl
masquerade_envelope به شما امکان می دهد نام میزبان دامنه را مخفی کنید. قبل از انتقال پیام به دیگران ، قسمت دریافتی از قسمت سرصفحه پیام را جایگزین می کند
تغییر مسیر برای هدایت به سرور ایمیل دیگر استفاده می شود. به معنی امتناع از پذیرش نامه با صدور پیام ، لطفاً سعی کنید
(سعی کنید از این آدرس استفاده کنید)
relay_based_on_MX ارسال نامه (ارسال مجدد) را فقط برای میزبانهای مشخص شده در سوابق سرور DNS MX مجاز می کند
relay_hosts_only پخش فقط برای گره های مشخص شده در access_db اجازه می دهد
relay_mail_from فقط درصورت ارسال فرستنده در لیست RELAY از accessdb مجاز است
خشمگین استفاده از پوسته ارسال محدود
use_cf_file وقتی این عملکرد مشخص شد ، sendmail در فایل sendmail.cf به دنبال لیستی از کاربران قابل اعتماد می گردد.
use_cw_file وقتی این عملکرد مشخص شد ، sendmail در فایل sendmail.cw لیستی از میزبان های محلی را جستجو می کند.
قابل استفاده آدرس گیرنده را به آدرس یک کاربر محلی تبدیل می کند

فایل /etc/mail/sendmail.cw تمام نام های مستعار را برای یک سرور ایمیل مشخص می کند. فرض کنید نام سرور شما mail.dhsilabs.ru است. اگر فرستنده نامه را به آدرس ارسال می کند [ایمیل محافظت شده]، نامه بدون هیچ مشکلی به دن کاربر تحویل داده می شود. و اگر کسی نامه ای به آدرس ارسال کند [ایمیل محافظت شده]، پس از آنکه مشخص نیست پیام به کدام گره حوزه dhsilabs ارسال شده است ، تحویل آن مشکلات خاصی را به همراه خواهد داشت؟ برای حل این مشکل ، باید یک خط در فایل sendmail.cw قرار دهید.

شما به سختی نیاز دارید سرور وبکه نمی تواند از سایت شما نامه ارسال کند. در زیر یک راه ساده برای استقرار سریع است ارسال پست الکترونیکیبه عنوان MTA (عامل انتقال نامه) که برای سایت نامه ارسال می کند.

برای شروع نصب و راه اندازی

Sudo apt-get sendmail sendmail

دومین و مهمترین چیز پیکربندی صحیح خود میزبان است. فرستنده باید دقیقاً بداند نام DNS FQDN میزبان چیست و در وسعت شبکه جهانی وجود دارد.

فرض کنید سروری که روی آن قرار دارد sendmail کار می کندآدرس IP دارد 123.123.123.123

ما همچنین نام دامنه domainame.com را داریم که به درستی به آدرس IP سرور واگذار شده است.

ویرایش فایل / etc / hostبه طوری که سرور نام DNS خود را بداند (البته ، باید درست و واقعی باشد)

سودو نانو -w / etc / hosts

خط دوم ، که باید اضافه شود ، شرح نام دامنه سرور ، مقایسه آن با آدرس IP واقعی میزبان و نام سیستم داخلی است:

127.0.0.1 localhost 123.123.123.123 box1.domainname.com سرور وب شما

سپس باید تغییری در پرونده ایجاد کنید / etc / hostname

سودو نانو -w / etc / hostname

و نام سرور صحیح را که در آن وارد شده بود وارد کنید / etc / hostدر مثال ما ، این وب سرور شما است.

محتوای فایل / etc / hostname پس از ویرایش:

سرور وب شما

پس از این مراحل ، باید سرور را راه اندازی مجدد کرده یا اجرا کنید:

/etc/init.d/hostname راه اندازی مجدد و 2 دستور اجرا کنید: hostname hostname -f

اگر همه چیز صحیح است ، سیستم باید در هر دو مورد نامهای مشابه را برگرداند: سرور وب شما

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

# تلنت localhost smtp به ما می دهد: Trying :: 1 ... تلاش 127.0.0.1 ... متصل به localhost. شخصیت فرار "^]" است. 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3 / 8.14.3 / Debian-9.2ubuntu1 ؛ پنجشنبه ، 9 دسامبر 2010 15:31:17 +0200؛ (بدون UCE / UBE) ورود به سیستم از: localhost.localdomain (OK) - localhost.localdomain وارد کنید: HELO localhost به ما می دهد: 250 localhost6.localdomain6 سلام localhost.localdomain ، خوشحالم که با شما وارد شده ایم: ایمیل از: [ایمیل محافظت شده]به ما می دهد: 250 2.1.0 [ایمیل محافظت شده]فرستنده خوب ، وارد کنید: RCPT TO: [ایمیل محافظت شده]به ما می دهد: 250 2.1.5 [ایمیل محافظت شده]گیرنده خوب ، وارد کنید: داده ها به ما می دهد: 354 نامه را وارد کنید ، با "" پایان دهید. در یک خط به تنهایی ، پیام آزمایش را وارد کنید. امیدوارم حدس زده باشید که نامه بالا باید با آخرین نامه شما جایگزین شود که telnet برای ما می نویسد

در نتیجه اجرای دنباله ای از دستورات به ایمیل مشخص شده ( [ایمیل محافظت شده]) یک پیام باید بیاید ("پیام آزمایشی").

راه اندازی Php.ini

gedit/etc/php5/apache2/php.ini

خط بعدی را پیدا کرده و ویرایش کنید

sendmail_path = / usr / sbin / sendmail -t -i

بررسی عملکرد mail ()

پژواکنامه (" [ایمیل محافظت شده]"،" پیام آزمایشی "،" پیام آزمایشی "،" از: [ایمیل محافظت شده]"); ?>

راه اندازی کامل است ، امیدوارم موفق باشید Sendmail را در اوبونتو پیکربندی کنید

راهنمای نصب و پیکربندی یکی از قدیمی ترین ها MTA (نماینده انتقال نامه) ، برنامه ای برای ارسال ایمیل - ارسال پست الکترونیکیکه برای نصب روی هر سیستم عامل در دسترس است. در بسیاری از سیستم عامل ها ، sendmail به طور پیش فرض نصب شده است و نیازی به تغییر این MTA استاندارد به دیگری نیست. در عین حال ، همان PHP به طور پیش فرض برای کار با این MTA پیکربندی شده است. اگر راه اندازی sendmail زمان زیادی طول می کشد - postfix () را قرار دهید ، نیازی به هدر دادن زمان زیادی نیست.

آماده سازی

بررسی کنید آیا sendmail را نصب کرده اید و exim4 یا MTA دیگری را نصب نکرده اید:

Ls -la `which sendmail` # lrwxrwxrwx 1 root root 26 2011-01-17 19:58 / usr / sbin / sendmail -> / etc / alternatives / sendmail

نصب و راه اندازی

sudo apt-get sendmail sasl2-bin را نصب کنید

پیکربندی / etc / host

127.0.0.1 localhost localhost.localdomain e5530
توجه داشته باشید

شما باید میزبان اصلی (نام رایانه ، نام من e5530) و localhost.localdomain را تعیین کنید ، در غیر این صورت خطایی دریافت خواهید کرد: نام میزبان فاقد صلاحیت من (myhostname) ناشناخته است. خوابیدن برای تلاش مجدد "و" قادر به تعیین نام دامنه خودم (e5530) - با استفاده از نام کوتاه، ارسال پست الکترونیکی زمان زیادی طول می کشد تا شروع شود و ایمیل را به آرامی ارسال می کند. احتمالا میزبان localhost.localdomain می توان آن را رد کرد ، مطمئن نیستم

پس از آن ، باید نام میزبانهای محلی را مشخص کنید ، که از بین آنها می آید ارسال پست الکترونیکیدرخواست های ارسال پیام های ایمیل را در فایل / etc / mail / local-host-names قبول می کند:

AuthInfo: smtp.gmail.com "U: [ایمیل محافظت شده]"" من: [ایمیل محافظت شده]"" P: YourPass "" M: PLAIN "AuthInfo: smtp.gmail.com: 465" U: [ایمیل محافظت شده]"" من: [ایمیل محافظت شده]"" P: YourPass "" M: PLAIN "

توجه داشته باشید

به جای پورت 465 ، می توانید روی 587 ضربه بزنید (در صورت وجود مشکل در مجوز):

AuthInfo: smtp.gmail.com: 587 "U: [ایمیل محافظت شده]"" من: [ایمیل محافظت شده]"" P: YourPass "" M: PLAIN "

Chmod 600 / etc / mail / auth / *

پیکربندی Sendmail.mc

پیکربندی فایل /etc/mail/sendmail.mc. پیکربندی خود را مقایسه کنید باید چیزی شبیه به این باشد .. ترتیب دستورالعمل ها مهم است!

Dnl # شامل (`/etc/mail/m4/dialup.m4") dnl شامل (`/etc/mail/m4/provider.m4") dnl شامل (`/etc/mail/tls/starttls.m4") dnl شامل (`/etc/mail/sasl/sasl.m4") dnl ویژگی (`authinfo '،` hash / etc / mail / auth / client-info ") dnl define (` SMART_HOST "،` smtp.gmail.com " ) dnl تعریف (`RELAY_MAILER_ARGS" ، `TCP $ h 587") dnl تعریف (`ESMTP_MAILER_ARGS" ، 'TCP $ h 587 ") dnl dnl # dnl # تنظیمات پیش فرض Mailer MAILER_DEFINITIONS MAILER (" local ")" dnl ) dnl define (`confAUTH_MECHANISMS"، `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl # dnl define (`confDOMAIN_NAME"، `e5530") dnl

با استفاده از پیکربندی sendmail

cd / etc / mail sudo su # فقط sudo کار نمی کند! m4 sendmail.mc> sendmail.cf makemap -r هش authinfo.db< auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

مشکلات و راه حل ها

اگر همه چیز به درستی پیکربندی شده است ، اما پیام ها به "صف در انتظار" می روند و به SMTP دیگری منتقل نمی شوند:

  1. IP خود را "در لیست سیاه بررسی کنید. شما می توانید IP ممنوعه را در اینجا در smart-ip.net بررسی کنید ، IP من وارد پایگاه داده spamhaus شد" a.
  2. بررسی کنید که آیا ارائه دهنده شما بسته های خروجی را در پورت 25 مسدود می کند یا خیر.
مشکلات مربوط به Intertelecom!

من نتوانستم رله پیام را در GMail از طریق sendmail در اتصال Intertelecom تنظیم کنم - sendmail سرسختانه به پورت 25 ضربه زد ، که توسط ISP بسته می شود. مجبور شدم postfix را پیکربندی کنم.

پیکربندی PHP (در صورت نیاز)

پارامترهای راه اندازی sendmail را در پیکربندی /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini) مشخص کنید:

## پیکربندی sendmail برای PHP: sendmail_path = / usr / sbin / sendmail -t؛ sendmail_path = " / usr / sbin / sendmail -t -f [ایمیل محافظت شده]-من "

بیایید تنظیمات را بررسی کنیم

پژواک "متن پیام" | mail -s "Subjet" [ایمیل محافظت شده] sendmail -t [ایمیل محافظت شده]-f [ایمیل محافظت شده]-v -i< ~/mail-body.txt

برای آزمایش postfix ، چندین پیام از کنسول ارسال کنید. من نحوه انجام این کار را در این مقاله توضیح دادم: "".

مدیریت Sendmail

مشاهده کل صف پیام:

سودو mailq

مشاهده صف پیام در یک آدرس خاص:

سودو mailq | گرپ " [ایمیل محافظت شده]"| wc -l

پاک کردن کل صفحات ارسال پیام:

سودو rm -r / var / spool / mqueue -client / *

صف پیام sendmail را در مقصد پاک کنید:

Cd / var / spool / mqueue ls | xargs -ti sh -c "grep" [ایمیل محافظت شده]"" () "> / dev / null && rm -f" () ""

#sendmail ، #LAMP ، #MTA

P.S.اگر می خواهید کنسول لینوکس را در سطح نسبتاً خوبی بیاموزید ، توصیه می کنم کتاب تازه دنیس کولیسنیچنکو را بخوانید. خط فرمان لینوکس و خودکارسازی کارهای معمول».

ابتدا کمی انحراف

SMTP - پروتکل انتقال ایمیل ساده - سرویس در شبکه های TCP / IP برای انتقال پیام (به عنوان مثال نامه). به طور معمول پورت 25 برای SMTP استفاده می شود (فایل / etc / services را ببینید)

POP - پروتکل دفتر پست - برای دریافت نامه از سرور استفاده می شود. پورت پیش فرض 110 است (برای پروتکل POP3)

اکنون سعی می کنم نحوه راه اندازی یک سرور ایمیل کوچک با استفاده از POP3 و SMTP را توضیح دهم.

ابتدا نرم افزار لازم را نصب می کنیم. به sendmail و imap نیاز داریم. اگر از نسخه لینوکس سازگار با RH استفاده می کنید ، باید بسته های مناسب را نصب کنید.
من استفاده می کنم
sendmail-8.11.0
imap-4.7c2

قبل از شروع به پیکربندی sendmail ، باید DNS را به درستی پیکربندی کنید ، در غیر این صورت این برنامه به درستی کار نخواهد کرد (اگرچه می توانید sendmail را بدون استفاده از dns پیکربندی کنید).

اجازه دهید تنظیمات اولیه sendmail را انجام دهیم. برای انجام این کار ، باید برنامه را اجرا کنید
netconf... هم از زیر X و هم از زیر کنسول کار می کند.
ابزار netconf در RH ، Mandrake است - من در مورد نسخه های دیگر مطمئن نیستم. (در لینوکس KSI موجود نیست). به طور طبیعی ، شما باید به عنوان root وارد سیستم شوید.

از منو انتخاب کنید سیستم تحویل نامه، سپس پیکربندی اولیه ارسال نامه
در قسمت Present your system as field ، فقط نام دامنه خود را وارد کنید
سپس کادر را علامت بزنید پذیرش ایمیل برای ...
پروتکل ارسال پیام را روی smtp تنظیم کنید ( پروتکل دروازه نامه)

این اطلاعات در حال حاضر برای راه اندازی sendmail شما کافی است.
می توانید گزینه های اضافی را برای برنامه sendmail با
netconf اگر sendmail ندارید ، یک فراموش نشدنی خواهید داشت
لذت ویرایش دستی فایل /etc/sendmail.cf - در آن
تنظیمات ذخیره می شوند) :)

حالا اجازه دهید طوری عمل کنیم که sendmail فقط نامه های مجاز را بپذیرد
آدرس ها. برای انجام این کار ، شما حتی نیازی به پیکربندی خود sendmail ندارید - فقط باید این کار را انجام دهید
فایل های صحیح /etc/hosts.allow و /etc/hosts.deny را درست کنید
مورد اول شامل لیستی از میزبان هایی است که اجازه دسترسی به آنها را دارند
ماشین ، و در دوم ممنوع است. لطفا توجه داشته باشید: با وجود نام
(مجاز | رد شد) ، محدودیت هایی که توسط اولین فایل تعیین شده است
بسیار سختگیرانه تر

مثال. برای جلوگیری از دسترسی به همه میزبانها به جز رایانه های خود
شبکه های موجود در فایل /etc/hosts.allow خط را اضافه کنید
"192.168.1.
در اینجا منظور ما این است که شبکه دارای آدرس 192.168.1.0 و ماسک 255.255.255.0 است
می توانید در مورد قالب فایل hosts.allow و hosts.deny بیشتر بخوانید ،
با وارد کردن دستور man /etc/hosts.allow

برای دریافت نامه فقط از دامنه های "خود" ، باید به آن اضافه کنید
فایل mc (معمولاً /etc/mail/sendmail.mc) خطوط زیر (استفاده کنید
برگه ها ، نه فاصله ها)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Scheck_rcpt
# هر چیزی که به صورت محلی خاتمه یابد اشکالی ندارد
ر< $+ @ $=w > [ایمیل محافظت شده]خوب
ر< $+ @ $=R > [ایمیل محافظت شده]خوب

# هر چیزی که از محلی سرچشمه می گیرد خوب است
R $ * $: $ (نقل قول "" $ & (client_name) $)
R $ = w [ایمیل محافظت شده]خوب
R $ = R [ایمیل محافظت شده]خوب
[ایمیل محافظت شده] [ایمیل محافظت شده]خوب

# هر چیز دیگری ساختگی است
R $ * $ # error $: "550 Relaying Denied"

اکنون یک فایل /etc/sendmail.cR ایجاد کنید و نام دامنه های "خود" را در آن وارد کنید -
یکی در هر خط
فقط برای این دامنه ها ، نامه گیرنده می تواند نامه دریافت کند - بقیه دریافت خواهند کرد
550 انتقال پیام رد شد

حالا نوبت POP3 است. پس از نصب بسته imap ، عملا دارید
همه چیز تنظیم شده است ، یعنی من می خواهم بگویم که در حال حاضر امکان پیکربندی وجود دارد.

ابتدا دیمون inetd را مجدداً راه اندازی کنید
پس از راه اندازی مجدد ، خدمات sendmail و popd فعال می شوند (دقیق تر
یک sendmail و popd در صورت نیاز فراخوانی می شود)

موارد زیر را امتحان کنید:
وارد telnet شوید<имя_только_созданного_почтовика> 25
شما باید چیزی شبیه به این را ببینید:
در حال تلاش برای 192.168.1.1 ...
متصل به 192.168.1.1
شخصیت فرار "^]" است
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 یکشنبه ، 17 ژوئن 2001 10:54:22 +300

این به این معنی است که sendmail کار می کند ، باید دید چقدر درست است :)

معرفی کنید
نامه از: [ایمیل محافظت شده]
220 2.1.0 [ایمیل محافظت شده].... فرستنده باشه
rcpt به: [ایمیل محافظت شده]
220 2.1.5 [ایمیل محافظت شده].... گیرنده باشه
اکنون داده ها را وارد می کنیم ، سپس متن پیام ، برای پایان دادن به ورودی ، یک نقطه قرار می دهیم
روی خط خالی

Sendmail به شما اطلاع می دهد که پیام ارسال شده است (دقیق تر ، در آن قرار داده شده است
صف خروج)

[ایمیل محافظت شده]-نام کاربری که برای او نامه ارسال می کنم.
den.dhsilabs.com - نام فرستنده من
لطفاً توجه داشته باشید که هیچ میزبان my.host.com در طبیعت وجود ندارد ، اما فرستنده Ok.
به همین دلیل ، در تنظیمات sendmail ، بهتر است گزینه Wait for DNS را فعال کنید

اکنون باید چند سرویس گیرنده ایمیل را برای مثال kmail راه اندازی کنید
و نامه را بردارید
تنظیمات شبکه در کیلومتر
شبکه -> مجموعه ارسال نامه SMTP ، پورت 25 ، نام سرور -
نام پست کننده شما ،
من دارم - den.dhsilabs.com

سپس یک حساب برای POP3 اضافه کنید
سیاهههای مربوط - دن
رمز عبور - رمز عبوری که برای ورود به سیستم استفاده می شود
سرور - den.dhsilabs.com
بندر - 110

باید پیامی را که بعد از داده وارد کرده اید دریافت کنید.