این دستور msmtp است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
msmtp - یک سرویس گیرنده SMTP
خلاصه
حالت ارسال ایمیل (پیشفرض):
msmtp [گزینه...] [--] گیرنده...
msmtp [گزینه...] -t [--] [گیرنده...]
حالت اطلاعات سرور:
msmtp [گزینه...] --serverinfo
حالت شروع صف پیام از راه دور:
msmtp [گزینه...] --rmqs=میزبان|@دامنه|#صف
شرح
در حالت پیشفرض sendmail، msmtp یک نامه را از ورودی استاندارد میخواند و به an ارسال میکند
سرور SMTP برای تحویل.
در حالت اطلاعات سرور، msmtp اطلاعات مربوط به سرور SMTP را چاپ می کند.
در حالت شروع صف پیام از راه دور، msmtp یک درخواست شروع صف پیام از راه دور ارسال می کند.
برای یک میزبان، دامنه یا صف یک سرور SMTP.
خروج وضعیت
همانطور که در sysexits.h تعریف شده است، از کدهای وضعیت خروج استاندارد sendmail استفاده می شود.
OPTIONS
گزینهها تنظیمات فایل پیکربندی را لغو میکنند.
آنها در صورت لزوم با sendmail سازگار هستند.
سوالات عمومی گزینه های
- نسخه
اطلاعات نسخه چاپی، از جمله اطلاعات مربوط به کتابخانه های مورد استفاده.
--help راهنمای چاپ.
-P، -- وانمود کردن
تنظیمات پیکربندی مورد استفاده را چاپ کنید، اما بیشتر از این کار نکنید
عمل. یک ستاره ('*') به جای رمز عبور شما چاپ می شود.
-v، -d، --debug
بسیاری از اطلاعات اشکال زدایی را چاپ کنید، از جمله کل مکالمه با
سرور SMTP مراقب این گزینه باشید: (بالقوه خطرناک)
خروجی تمیز نمی شود و رمز عبور شما ممکن است به راحتی در یک صفحه چاپ شود
فرمت قابل رمزگشایی
تغییر دادن la حالت of عمل
-S، --serverinfo
اطلاعات مربوط به سرور SMTP را چاپ کنید و از آن خارج شوید. این شامل اطلاعات است
درباره ویژگی های پشتیبانی شده (محدودیت اندازه نامه، احراز هویت، TLS، DSN، ...)
و در مورد گواهی TLS (اگر TLS فعال باشد).
--rmqs=(میزبان|@دامنه|#صف)
ارسال یک درخواست شروع صف پیام راه دور برای میزبان، دامنه، یا
به سرور SMTP صف بکشید و خارج شوید.
پیکر بندی گزینه های
-C، --file=نام فایل
به جای استفاده از فایل داده شده ~/.msmtprc به عنوان فایل پیکربندی کاربر
-a، --account=نام کاربری
از حساب داده شده به جای حسابی با نام "پیش فرض" استفاده کنید. تنظیمات
این حساب ممکن است با گزینه های خط فرمان تغییر کند. این گزینه نمی تواند
همراه با استفاده شود -روح گزینه.
-- میزبان =نام میزبان
از این سرور SMTP با تنظیمات خط فرمان استفاده کنید. از هیچ کدام استفاده نکنید
داده های فایل پیکربندی این گزینه را نمی توان همراه با استفاده کرد
--حساب گزینه.
--پورت=عدد
شماره پورت را برای اتصال تنظیم کنید. را ببینید بندر فرمان
--تایم اوت=(خاموش|ثانیه)
یک مهلت زمانی شبکه را در چند ثانیه تنظیم یا لغو تنظیم کنید. را ببینید فاصله فرمان
--proxy-host=[IP|نام میزبان]
یک پراکسی SOCKS را برای استفاده تنظیم یا تنظیم کنید. را ببینید پروکسی_میزبان فرمان
--proxy-port=[عدد]
یک شماره پورت را برای میزبان پراکسی تنظیم یا لغو تنظیم کنید. را ببینید درگاه پروکسی فرمان
--پروتکل=(SMTP|lmtp)
پروتکل را تنظیم کنید را ببینید پروتکل فرمان
-- دامنه =[رشته]
آرگومان فرمان SMTP EHLO (یا LMTP LHLO) را تنظیم کنید. را ببینید دامنه
فرمان
--auth[=(on|خاموش|روش)]
احراز هویت را فعال یا غیرفعال کنید و به صورت اختیاری روش را انتخاب کنید. را ببینید
تایید فرمان
--user=[نام کاربری]
نام کاربری را برای احراز هویت تنظیم یا از حالت تنظیم خارج کنید. را ببینید کاربر فرمان
--passwordeval=[ارزیابی]
رمز عبور را برای احراز هویت ارزیابی کنید. را ببینید رمز عبور فرمان
--tls[=(on|خاموش)]
TLS/SSL را فعال یا غیرفعال کنید. را ببینید TLS فرمان
--tls-startls[=(on|خاموش)]
STARTTLS را برای TLS فعال یا غیرفعال کنید. را ببینید tls_startls فرمان
--tls-trust-file=[پرونده]
یک فایل اعتماد را برای TLS تنظیم یا تنظیم کنید. را ببینید tls_trust_file فرمان
--tls-crl-file=[پرونده]
فایل لیست ابطال گواهی (CRL) را برای TLS تنظیم یا تنظیم کنید. را ببینید
tls_crl_file فرمان
--tls-fingerprint=[اثر انگشت]
اثر انگشت یک گواهی TLS قابل اعتماد را تنظیم نکنید. را ببینید
tls_اثرانگشت فرمان
--tls-key-file=[پرونده]
یک فایل کلیدی را برای TLS تنظیم یا تنظیم کنید. را ببینید tls_key_file فرمان
--tls-cert-file=[پرونده]
یک فایل گواهی را برای TLS تنظیم یا تنظیم کنید. را ببینید tls_cert_file فرمان
--tls-certcheck[=(on|خاموش)]
فعال یا غیرفعال کردن بررسی گواهی سرور برای TLS. را ببینید tls_certcheck
فرمان
--tls-min-dh-prime-bits=[بیت]
حداقل اندازه بیت دیفی-هلمن (DH) را تنظیم یا تنظیم کنید. را ببینید
tls_min_dh_prime_bits فرمان
--tls-priorities=[اولویت]
اولویت های TLS را تنظیم یا لغو تنظیم کنید. را ببینید tls_priorities فرمان
گزینه خاص به ارسال پست الکترونیکی حالت
-f، --از=نشانی
آدرس پاکت را تنظیم کنید. فقط زمانی استفاده می شود که خودکار_از خاموش است
اگر هنوز حسابی انتخاب نشده بود (با --حساب or -روح) این گزینه خواهد بود
اولین حسابی را انتخاب کنید که پاکت داده شده از آدرس (تنظیم شده با
la از جانب فرمان). اگر چنین حسابی یافت نشد، از "پیش فرض" استفاده می شود.
--خودکار از[=(on|خاموش)]
فعال یا غیرفعال کردن خودکار پاکت نامه از آدرس ها. پیش فرض خاموش است.
مشاهده خودکار_از فرمان
---maildomain=[دامنه]
قسمت دامنه را برای -- خودکار از نشانی. را ببینید دامنه پستی فرمان
-N، --dsn-notify=(خاموش|مخلوط)
شرایط اعلان DSN را تنظیم یا تنظیم نکنید. را ببینید dsn_notify فرمان
-R، --dsn-return=(خاموش|رد)
مقدار اعلان DSN را تنظیم یا تنظیم کنید. را ببینید dsn_return فرمان توجه داشته باشید
که hdrs به عنوان نام مستعار برای پذیرفته شده است هدر برای سازگاری با
ارسال پست الکترونیکی.
--add-missing-from-header[=(on|خاموش)]
افزودن یک سرصفحه از دست رفته را فعال یا غیرفعال کنید. را ببینید
add_missing_from_header فرمان
--add-missing-date-header[=(on|خاموش)]
افزودن سرصفحه تاریخ از دست رفته را فعال یا غیرفعال کنید. را ببینید
add_missing_date_header فرمان
--remove-bcc-headers[=(on|خاموش)]
حذف هدرهای Bcc را فعال یا غیرفعال کنید. را ببینید remove_bcc_headers
فرمان
-X، --logfile=[پرونده]
فایل گزارش را تنظیم یا از حالت تنظیم خارج کنید. را ببینید ورود به سیستم فایل فرمان
--syslog[=(on|خاموش|امکان)]
سیستم ثبت گزارش را فعال یا غیرفعال کنید. را ببینید syslog فرمان
-t، --read-recipients
آدرسهای گیرنده را از سرصفحههای To، Cc و Bcc ایمیل در داخل بخوانید
علاوه بر گیرندگان داده شده در خط فرمان. در صورت نارضایتی -
هدرها وجود دارند، سپس آدرسهای هر Resent-To، Resent-Cc و
هدرهای Resent-Bcc در اولین بلوک هدرهای Resent- به جای آن استفاده می شود.
--خواندن-پاکت-از
پاکت نامه را از آدرس از هدر از نامه بخوانید. در حال حاضر
این هدر باید در یک خط باشد تا این گزینه به درستی کار کند.
--نام مستعار=[پرونده]
یک فایل نام مستعار را تنظیم یا تنظیم کنید. را ببینید نام مستعار فرمان
-Fنام Msmtp یک هدر From را به ایمیل هایی که فاقد آن هستند، با استفاده از پاکت نامه اضافه می کند
نشانی. این گزینه به شخص اجازه می دهد تا یک نام کامل را برای استفاده در آن تنظیم کند
سرتیتر.
-- این پایان گزینه ها را نشان می دهد. همه آرگومان های زیر به عنوان تلقی خواهند شد
آدرس های گیرنده، حتی اگر با «-» شروع شوند.
گزینه های زیر پذیرفته می شوند اما برای سازگاری sendmail نادیده گرفته می شوند:
-Bنوع، -bm، -G، -hN، -i، -L برچسب, -m, -n, -O گزینه = ارزش، -ox ارزش
طریقه استفاده
به طور معمول، یک فایل پیکربندی گسترده سیستم و/یا یک فایل پیکربندی کاربر حاوی
اطلاعاتی در مورد اینکه از کدام سرور SMTP استفاده کنید و چگونه از آن استفاده کنید، اما تمام تنظیمات نیز می تواند باشد
در خط فرمان پیکربندی شده است.
اطلاعات مربوط به سرورهای SMTP در حساب ها سازماندهی شده است. هر حساب یکی را توصیف می کند
سرور SMTP: نام میزبان، تنظیمات احراز هویت، تنظیمات TLS و غیره. هر یک
فایل پیکربندی می تواند چندین حساب را تعریف کند.
کاربر می تواند به یکی از سه روش زیر انتخاب کند که از کدام حساب استفاده کند:
-- حساب =id
از حساب داده شده استفاده کنید تنظیمات خط فرمان تنظیمات فایل پیکربندی را لغو می کند.
-- میزبان =نام میزبان
فقط از تنظیمات خط فرمان استفاده کنید. از هیچ فایل پیکربندی استفاده نکنید
داده است.
--از=نشانی یا --خواندن-پاکت-از
اولین حساب کاربری را از فایل پیکربندی سیستم یا کاربر انتخاب کنید که دارای یک
تطبیق پاکت-از آدرس همانطور که توسط a مشخص شده است از جانب فرمان این فقط زمانی کار می کند که
نه نه --حساب نه -روح استفاده می شود.
اگر هیچ یک از گزینه های بالا استفاده نمی شود (یا اگر هیچ حسابی مطابقت ندارد از جانب فرمان)، سپس
حساب "پیش فرض" استفاده می شود.
Msmtp نامه ها را بدون تغییر به سرور SMTP ارسال می کند، به استثنای موارد زیر:
- سرصفحه(های) Bcc حذف خواهد شد. این رفتار را می توان با
remove_bcc_headers دستور و --remove-bcc-headers گزینه.
- اگر ایمیل هدر نداشته باشد، یک هدر From اضافه می شود. این را می توان با تغییر داد
add_missing_from_header دستور و --add-missing-from-header گزینه. هدر استفاده خواهد کرد
پاکت از آدرس و اختیاری یک نام کامل با -F گزینه.
- در صورتی که ایمیل هدر نداشته باشد، سرصفحه تاریخ اضافه خواهد شد. این را می توان با تغییر داد
add_missing_date_header دستور و --add-missing-date-header گزینه.
برای شروع سریع به بخش EXAMPLES بروید.
پیکربندی فایل ها
اگر وجود داشته باشد و قابل خواندن باشد، یک فایل پیکربندی گسترده سیستم SYSCONFDIR/msmtprc خواهد بود.
بارگذاری شده است، جایی که SYSCONFDIR به پلت فرم شما بستگی دارد. استفاده کنید - نسخه تا بفهمیم کدام
دایرکتوری استفاده می شود.
اگر وجود داشته باشد و قابل خواندن باشد، یک فایل پیکربندی کاربر بارگیری می شود (~/.msmtprc by
پیش فرض، اما ببینید - نسخه). حساب های تعریف شده در فایل پیکربندی کاربر لغو می شوند
حساب ها از فایل پیکربندی سیستم
داده های پیکربندی هر یک از فایل ها را می توان با گزینه های خط فرمان تغییر داد.
یک فایل پیکربندی یک فایل متنی ساده است. خطوط خالی و خطوط کامنت (که اولین
نویسه غیر خالی "#" است) نادیده گرفته می شوند.
هر خط دیگر باید حاوی یک فرمان باشد و ممکن است حاوی یک آرگومان برای آن فرمان باشد.
آرگومان ممکن است در دو گیومه (") محصور شود، برای مثال اگر اولین یا آخرین آن باشد
شخصیت خالی است
اگر نام فایل با tilde (~) شروع شود، این tilde با $HOME جایگزین می شود. اگر یک
فرمان استدلال را می پذیرد on، یک استدلال خالی را نیز می پذیرد و با آن به گونه ای برخورد می کند که گویی
بود on.
دستورات در حساب ها سازماندهی می شوند. هر حساب با شروع می شود حساب دستور و
تنظیمات یک حساب SMTP را تعریف می کند.
برای شروع سریع به بخش EXAMPLES بروید.
دستورات به شرح زیر است:
پیش فرض
تنظیمات پیش فرض دستورات پیکربندی زیر مقادیر پیش فرض را برای همه تعیین می کند
تعاریف حساب زیر در فایل پیکربندی فعلی.
حساب نام [:حساب[،...]]
یک تعریف حساب جدید با نام داده شده شروع کنید. مقادیر پیش فرض فعلی هستند
پر شده است
اگر بعد از اکانت یک دونقطه و لیستی از حساب های تعریف شده قبلی داده شود
نام، حساب جدید، با مقادیر پیش فرض پر شده، تمام تنظیمات را به ارث می برد
از حساب های موجود در لیست
میزبان نام میزبان
سرور SMTP برای ارسال نامه به. آرگومان ممکن است یک نام میزبان یا یک شبکه باشد
نشانی. هر تعریف حساب باید حاوی این دستور باشد.
بندر عدد
پورتی که سرور SMTP به آن گوش می دهد. پیش فرض 25 ("smtp") است، مگر اینکه TLS
بدون STARTTLS استفاده می شود که در این صورت 465 ("smtps") است.
تایم اوت (خاموش|ثانیه)
یک مهلت زمانی شبکه را در چند ثانیه تنظیم یا لغو تنظیم کنید. بحث و جدل خاموش به این معنی است که بدون وقفه
تنظیم خواهد شد، به این معنی که پیش فرض سیستم عامل استفاده خواهد شد.
پروکسی_میزبان [IP|نام میزبان]
از پروکسی SOCKS استفاده کنید. تمام ترافیک شبکه از طریق این میزبان پراکسی از جمله
جستارهای DNS، به جز پرس و جوی DNS که ممکن است برای حل پروکسی لازم باشد
خود نام میزبان (با استفاده از آدرس IP به عنوان نام میزبان پراکسی می توان از این امر جلوگیری کرد).
خالی نام میزبان آرگومان استفاده از پروکسی را غیرفعال می کند. پروتکل SOCKS پشتیبانی شده
نسخه 5 است. اگر می خواهید از این با Tor استفاده کنید، به "استفاده از msmtp با Tor" نیز مراجعه کنید.
زیر کلیک کنید.
درگاه پروکسی [عدد]
شماره پورت را برای میزبان پراکسی تنظیم کنید. یک خالی عدد آرگومان این را به حالت بازنشانی می کند
پورت پیش فرض
پروتکل (SMTP|lmtp)
پروتکل را برای استفاده تنظیم کنید. در حال حاضر فقط SMTP و LMTP پشتیبانی می شوند. SMTP است
پیش فرض را ببینید بندر دستور بالا برای پورت های پیش فرض
دامنه استدلال
از این دستور برای تنظیم آرگومان فرمان SMTP EHLO (یا LMTP LHLO) استفاده کنید. را
پیش فرض است localhost را، که احمقانه است اما معمولاً کار می کند. سعی کنید پیش فرض را تغییر دهید
اگر نامه ها به دلیل اقدامات ضد هرزنامه رد شوند. انتخاب های ممکن دامنه هستند
بخشی از آدرس پست الکترونیکی شما (provider.example for [ایمیل محافظت شده]) یا به طور کامل
نام دامنه واجد شرایط میزبان شما (در صورت وجود).
اعتبار [(on|خاموش|روش)]
احراز هویت را فعال یا غیرفعال کنید و به صورت اختیاری روشی را برای استفاده انتخاب کنید. در
استدلال on روشی را به صورت خودکار انتخاب می کند.
معمولاً از نام کاربری و رمز عبور برای احراز هویت استفاده می شود. نام کاربری است
مشخص شده در فایل پیکربندی با کاربر فرمان پنج متفاوت وجود دارد
روش های تعیین رمز عبور:
1. رمز عبور را به حلقه کلید سیستم اضافه کنید. حلقه های کلید در حال حاضر پشتیبانی می شوند
حلقه کلید Gnome و Mac OS X Keychain. برای حلقه کلید Gnome از دستور استفاده کنید
Secret-Tool (بخشی از libsecret Gnome) برای ذخیره رمزهای عبور: مخفی ابزار ذخیره
--label=msmtp میزبان mail.freemail.example سرویس smtp کاربر joe.smith. در Mac OS X،
از برنامه Keychain Access GUI استفاده کنید. نام اکانت همان کاربر است
نام. نام آیتم زنجیره کلید smtp:// است. جایی که با میزبان مطابقت دارد
بحث و جدل.
2. رمز عبور را در یک فایل رمزگذاری شده ذخیره کرده و استفاده کنید رمز عبور برای مشخص کردن الف
دستور رمزگشایی آن فایل، به عنوان مثال با استفاده از GnuPG. به مثال ها مراجعه کنید.
3. ذخیره رمز عبور در فایل پیکربندی با استفاده از کلمه عبور فرمان
(معمولاً ذخیره گذرواژه ها در فایل های متنی ساده ایده خوبی نیست.
اگر به هر حال این کار را انجام دهید، باید مطمئن شوید که فایل فقط توسط آن قابل خواندن است
خودت.)
4. رمز عبور را در ~/.netrc. این روش احتمالا منسوخ شده است.
5. در صورت نیاز رمز عبور را در ترمینال وارد کنید.
توصیه می شود از روش 1 یا 2 استفاده کنید.
چندین روش احراز هویت وجود دارد. اکثر سرورها فقط برخی از آنها را پشتیبانی می کنند.
از لحاظ تاریخی، روشهای پیچیدهای برای محافظت از رمزهای عبور از وجود ابداع شدهاند
به صورت رمزگذاری نشده به سرور ارسال می شود، اما امروزه همه به TLS نیاز دارند، بنابراین
روش های ساده کافی است زیرا کل جلسه محافظت می شود. یک مناسب
روش احراز هویت به طور خودکار انتخاب می شود و زمانی که TLS برای برخی غیرفعال باشد
به همین دلیل، تنها روش هایی در نظر گرفته می شوند که از ارسال رمزهای عبور متنی واضح اجتناب کنند.
روش های کاربری / رمز عبور زیر پشتیبانی می شوند: ساده (یک متن ساده و ساده
روش، با کدگذاری base64، که تقریباً توسط همه سرورها پشتیبانی می شود. scram-sha-1 (a
روشی که از رمزهای عبور متن شفاف جلوگیری می کند) cram-md5 (روشی منسوخ که از آن اجتناب می شود
رمزهای عبور متن شفاف)، digest-md5 (یک روش منسوخ بیش از حد پیچیده که از آن اجتناب می شود
رمزهای عبور متنی واضح، اما دیگر امن در نظر گرفته نمی شود)، ورود (غیر استاندارد
روش متن واضح مشابه اما بدتر از روش ساده) ntlm (یک مبهم
روش غیر استانداردی که اکنون شکسته در نظر گرفته می شود. گاهی اوقات نیاز به خاصی دارد
پارامتر دامنه از طریق ntlmdomain).
در حال حاضر دو روش احراز هویت وجود دارد که بر اساس کاربر / نیست.
اطلاعات رمز عبور و باید به صورت دستی انتخاب شود: خارجی (احراز هویت
خارج از پروتکل اتفاق می افتد، معمولاً با ارسال گواهی مشتری TLS، و
روش فقط تأیید می کند که این احراز هویت با موفقیت انجام شده است) و گساپی (
چارچوب Kerberos از احراز هویت امن مراقبت می کند، فقط یک نام کاربری است
ضروری).
بستگی به کتابخانه احراز هویت اصلی و نسخه آن دارد که آیا a
روش خاصی پشتیبانی می شود یا خیر. استفاده کنید - نسخه تا بفهمیم کدام روش ها هستند
پشتیبانی.
کاربر ورود
نام کاربری را برای احراز هویت تنظیم کنید. یک آرگومان خالی نام کاربری را از حالت تنظیم خارج می کند.
کلمه عبور راز
رمز عبور را برای احراز هویت تنظیم کنید. یک آرگومان خالی رمز عبور را از حالت تنظیم خارج می کند.
استفاده از را در نظر بگیرید رمز عبور دستور یا یک حلقه کلید به جای این دستور، به
از ذخیره رمزهای عبور متن ساده در فایل پیکربندی خودداری کنید.
رمز عبور [ارزیابی]
رمز عبور برای احراز هویت را روی خروجی (stdout) فرمان قرار دهید ارزیابی.
این می تواند به عنوان مثال برای رمزگشایی فایل های رمز عبور در حال پرواز یا جستجو در حلقه های کلید استفاده شود.
و در نتیجه از ذخیره رمزهای عبور متن ساده خودداری کنید.
ntlmdomain [دامنه]
یک دامنه برای ntlm روش احراز هویت. این منسوخ شده است.
tls [(on|خاموش)]
TLS (همچنین به عنوان SSL شناخته می شود) را برای اتصالات ایمن فعال یا غیرفعال کنید. شما نیز نیاز دارید
tls_trust_file or tls_اثرانگشتو برای برخی از سرورها ممکن است لازم باشد غیرفعال کنید
tls_startls.
امنیت لایه حمل و نقل (TLS) "... حریم خصوصی ارتباطات را بر روی
اینترنت. این پروتکل به برنامه های کاربردی سرویس گیرنده/سرور اجازه می دهد تا به طریقی با هم ارتباط برقرار کنند
که برای جلوگیری از استراق سمع، دستکاری، یا جعل پیام طراحی شده است
از RFC2246).
یک سرور می تواند از TLS در یکی از دو حالت استفاده کند: از طریق دستور STARTTLS (جلسه
با مقداردهی اولیه پروتکل معمولی شروع می شود و سپس TLS با استفاده از آن شروع می شود
دستور STARTTLS پروتکل)، یا بلافاصله (TLS قبل از حالت عادی مقداردهی اولیه می شود
مقداردهی اولیه پروتکل؛ این نیاز به یک پورت جداگانه دارد). حالت اول است
به طور پیش فرض، اما می توانید با غیرفعال کردن، به حالت دوم بروید tls_startls.
هنگامی که TLS راه اندازی می شود، سرور یک گواهی برای شناسایی خود ارسال می کند. به منظور بررسی
برای شناسایی هویت سرور، انتظار می رود که یک برنامه مشتری بررسی کند که آیا گواهی وجود دارد
به طور رسمی صحیح است و توسط یک مرجع صدور گواهی (CA) صادر شده است که
اعتماد کاربر (همچنین میتوان زنجیرههای گواهی با CAهای متوسط وجود داشته باشد.)
لیست CA های قابل اعتماد با استفاده از tls_trust_file فرمان معمولا
برخی از فایل های پیش فرض در سراسر سیستم موجود است، به عنوان مثال
/etc/ssl/certs/ca-certificates.crt در سیستم های مبتنی بر دبیان، اما شما همچنین می توانید انتخاب کنید
تا خودتان CA های مورد اعتماد را انتخاب کنید.
یکی از مشکلات عملی این رویکرد این است که برنامه مشتری نیز باید
بررسی کنید که آیا گواهی سرور به دلایلی باطل شده است، با استفاده از a
فهرست ابطال گواهی (CRL). یک فایل CRL را می توان با استفاده از
tls_crl_file دستور، اما دریافت فایل های CRL مربوطه و نگه داشتن آن ها تا
تاریخ مشخص نیست شما اساساً خودتان هستید.
مشکل بسیار جدیتر و اساسیتر این است که باید به CA اعتماد کنید. پسندیدن
هر سازمان دیگری، یک CA می تواند ناکارآمد، مخرب، واژگون شده توسط بد باشد
مردم، یا توسط سازمانهای دولتی مجبور به به خطر انداختن کاربران نهایی بدون اطلاع رسانی میشوند
آنها همه این اتفاقات در سراسر جهان رخ داده و همچنان ادامه دارد. ایده به
سازمان های مرکزی داشته باشید که برای برقراری ارتباط شما باید به آنها اعتماد کرد
امن اساسا شکسته است.
به جای اعتماد به یک CA، می توانید انتخاب کنید که فقط به یک گواهی اعتماد کنید
برای سروری که می خواهید به آن متصل شوید. برای این منظور گواهی را مشخص کنید
اثر انگشت با tls_اثرانگشت. این اطمینان می دهد که هیچ مرد وسطی نمی تواند
با ارائه یک گواهی جعلی صادر شده، هویت سرور را جعلی کنید
توسط برخی از CA که اتفاقاً در لیست اعتماد شما قرار دارد. با این حال، شما باید به روز رسانی کنید
هر زمان که گواهی سرور تغییر کند، اثر انگشت، و شما باید از آن مطمئن شوید
تغییر هر بار مشروع است، به عنوان مثال زمانی که گواهی قدیمی منقضی شده است. این هست
ناخوشایند است، اما بهایی است که باید پرداخت کنید.
اطلاعات مربوط به گواهی سرور را می توان با آن به دست آورد -- اطلاعات سرور -- tls
--tls-certcheck=off. این شامل CA صادر کننده گواهی می شود (بنابراین می توانید
اعتماد به آن CA از طریق tls_trust_file) و اثر انگشت گواهی (پس شما
می تواند از طریق آن گواهی خاص اعتماد کند tls_اثرانگشت).
TLS همچنین به سرور اجازه می دهد تا هویت مشتری را تأیید کند. به این منظور،
مشتری باید گواهی صادر شده توسط یک CA که سرور به آن اعتماد دارد ارائه دهد. به
آن گواهی را ارائه دهید، مشتری همچنین به فایل کلید منطبق نیاز دارد. می توانید تنظیم کنید
گواهی و فایل های کلیدی با استفاده از tls_cert_file و tls_key_file. این مکانیسم
همچنین می تواند برای احراز هویت کاربران استفاده شود، به طوری که کاربر / رمز عبور سنتی
احراز هویت دیگر لازم نیست. را ببینید خارجی مکانیزم در تایید.
tls_starttls [(on|خاموش)]
نوع TLS را انتخاب کنید: TLS را از داخل جلسه شروع کنید (on، پیش فرض)، یا تونل
جلسه از طریق TLS (خاموش).
tls_trust_file پرونده
تأیید گواهی سرور را با استفاده از لیستی از گواهینامه معتبر فعال کنید
مقامات (CAs). فایل باید با فرمت PEM باشد. برخی از سیستم ها یک سیستم را ارائه می دهند -
فایل پیش فرض گسترده، به عنوان مثال /etc/ssl/certs/ca-certificates.crt در سیستم های مبتنی بر دبیان
با پکیج گواهینامه های ca. یک آرگومان خالی این را غیرفعال می کند. شما هم چنین باید
استفاده کنید tls_crl_file.
tls_crl_file [پرونده]
یک فایل لیست ابطال گواهی (CRL) برای TLS تنظیم کنید تا بررسی کنید که آیا باطل شده است
گواهینامه ها. یک آرگومان خالی این را غیرفعال می کند.
tls_اثر انگشت [اثر انگشت]
اثر انگشت یک گواهی را برای پذیرش TLS تنظیم کنید. این گواهی
صرف نظر از محتوای آن قابل اعتماد خواهد بود. اثر انگشت می تواند SHA1 باشد
(توصیه می شود) یا اثر انگشت MD5 با فرمت 01:23:45:67:.... استفاده کنید -- اطلاعات سرور
-- tls --tls-certcheck=off برای دریافت اثر انگشت گواهی سرور
tls_key_file پرونده
یک گواهی مشتری به سرور بفرستید (از این به همراه استفاده کنید tls_cert_file}).
فایل باید حاوی کلید خصوصی یک گواهی در قالب PEM باشد. یک خالی
آرگومان این ویژگی را غیرفعال می کند.
tls_cert_file پرونده
یک گواهی مشتری به سرور بفرستید (از این به همراه استفاده کنید tls_key_file).
فایل باید حاوی یک گواهی در قالب PEM باشد. یک آرگومان خالی این را غیرفعال می کند
ویژگی.
tls_certcheck [(on|خاموش)]
بررسی های گواهی سرور را فعال یا غیرفعال کنید. هشدار: زمانی که چک ها هستند
غیرفعال، جلسات TLS در برابر حملات Man-in-the-Middle آسیب پذیر خواهند بود!
tls_min_dh_prime_bits [بیت]
حداقل تعداد بیتهای اولیه Diffie-Hellman (DH) را تنظیم یا از حالت خارج کنید.
پذیرش برای جلسات TLS پیش فرض توسط کتابخانه TLS تنظیم شده است و می توان آن را انتخاب کرد
با استفاده از یک آرگومان خالی برای این دستور. فقط پیش فرض را پایین بیاورید (مثلاً به
512 بیت) اگر راه دیگری برای کار TLS با سرور راه دور وجود نداشته باشد.
tls_اولویت ها [اولویت]
اولویت ها را برای جلسات TLS تنظیم کنید. پیش فرض توسط کتابخانه TLS تنظیم شده است و می تواند
با استفاده از یک آرگومان خالی برای این دستور انتخاب شود. GnuTLS را ببینید
اسناد و مدارک gnutls_priority_init تابع برای توصیف
رشته اولویت ها
از جانب پاکت_از
آدرس پاکت را تنظیم کنید. این آدرس فقط زمانی استفاده خواهد شد که خودکار_از is
خاموش
خودکار_از [(on|خاموش)]
فعال یا غیرفعال کردن خودکار پاکت نامه از آدرس ها. پیش فرض خاموش است. چه زمانی
فعال شود، یک پاکت نامه از آدرس فرم user@domain ایجاد خواهد شد. در
قسمت محلی تنظیم خواهد شد USER یا اگر موفق نشد، به LOGNAME یا اگر موفق نشد، به
نام ورود کاربر فعلی قسمت دامنه را می توان با تنظیم کرد دامنه پستی
فرمان اگر دامنه پستی خالی باشد، آدرس پاکت نامه فقط شامل خواهد شد
نام کاربری باشد و قسمت دامنه نداشته باشد. وقتی auto_fm غیرفعال است،
آدرس پاکت نامه باید به صراحت تنظیم شود.
دامنه پستی [دامنه]
یک قسمت دامنه را برای تولید یک آدرس پاکت نامه تنظیم کنید. این فقط استفاده می شود
چه زمانی خودکار_از روشن است. دامنه ممکن است خالی باشد.
dsn_notify (خاموش|شرط)
این فرمان شرایط(هایی) را تعیین می کند که تحت آن سیستم پستی باید DSN را ارسال کند
پیام های (اعلان وضعیت تحویل). بحث و جدل خاموش DSN صریح را غیرفعال می کند
درخواستها، به این معنی که سیستم پست تصمیم میگیرد چه زمانی پیامهای DSN را ارسال کند. این هست
پیشفرض. در شرط باید هرگز، هرگز درخواست اعلان نکنید، یا a
لیست جدا شده با کاما (بدون فاصله!) از یک یا چند مورد زیر: شکست، به
درخواست اطلاع رسانی در مورد خرابی انتقال، تاخیر، از پیام مطلع شوید
تاخیر، موفقیت، از انتقال موفقیت آمیز مطلع شوید. سرور SMTP باید
پشتیبانی از پسوند DSN
dsn_return (خاموش|مقدار)
این دستور کنترل می کند که چه مقدار از نامه باید در DSN (وضعیت تحویل) بازگردانده شود
اعلان) پیام ها. بحث و جدل خاموش درخواست های صریح DSN را غیرفعال می کند که
به این معنی که سیستم پست تصمیم میگیرد چه مقدار از نامه را در پیامهای DSN برگرداند. این
پیش فرض است. در مقدار باید هدر، فقط سرصفحه های پیام را برگردانید یا
کامل، برای بازگرداندن نامه کامل. سرور SMTP باید از پسوند DSN پشتیبانی کند.
add_missing_from_header [(on|خاموش)]
این دستور کنترل میکند که اگر ایمیل سرصفحه از آن را نداشته باشد، اضافه شود یا خیر.
پیش فرض این است که آن را اضافه کنید.
add_missing_date_header [(on|خاموش)]
این دستور کنترل میکند که اگر نامه سرصفحه تاریخ نداشته باشد یا خیر.
پیش فرض این است که آن را اضافه کنید.
remove_bcc_headers [(on|خاموش)]
این دستور کنترل می کند که آیا هدرهای Bcc حذف شوند یا خیر. پیش فرض حذف آنهاست.
ورود به سیستم فایل [پرونده]
یک آرگومان خالی ورود به سیستم را غیرفعال می کند (این پیش فرض است).
هنگامی که ورود به سیستم با انتخاب یک فایل گزارش فعال می شود، msmtp یک خط به آن اضافه می کند
فایل log برای هر ایمیلی که سعی میکند از طریق حسابی که این فایل گزارش بود ارسال کند
انتخاب شده برای.
این خط شامل اطلاعات زیر خواهد بود: تاریخ و زمان، نام میزبان
سرور SMTP، اینکه آیا از TLS استفاده شده است، آیا از احراز هویت استفاده شده است یا خیر، احراز هویت
نام کاربری (فقط در صورت استفاده از احراز هویت)، پاکت نامه-از آدرس، گیرنده
آدرسها، اندازه نامهای که به سرور منتقل میشود (فقط در صورت تحویل
موفق شد)، کد وضعیت SMTP و پیام خطای SMTP (فقط در صورت خرابی و
فقط در صورت موجود بودن)، پیام خطا (فقط در صورت خرابی و فقط در صورت موجود بودن)،
کد خروج (از sysexits.h؛ EX_OK نشان دهنده موفقیت است).
اگر نام فایل یک خط تیره (-) باشد، msmtp خط ورود به سیستم را در خروجی استاندارد چاپ می کند.
syslog [(on|خاموش|امکان)]
سیستم ثبت گزارش را فعال یا غیرفعال کنید. این تسهیلات می تواند یکی از LOG_USER، LOG_MAIL،
LOG_LOCAL0، ...، LOG_LOCAL7. پیش فرض LOG_USER است.
هر بار که msmtp سعی می کند از طریق حساب کاربری حاوی این syslog نامه ای ارسال کند
دستور، یک ورودی را با امکانات انتخابی به سرویس syslog وارد می کند.
این خط شامل اطلاعات زیر خواهد بود: نام میزبان سرور SMTP،
آیا از TLS استفاده شده است، آیا از احراز هویت استفاده شده است، پاکت نامه از آدرس،
آدرسهای گیرنده، اندازه نامههای ارسال شده به سرور (فقط در صورتی که
تحویل با موفقیت انجام شد)، کد وضعیت SMTP و پیام خطای SMTP (فقط در صورت وجود
شکست و فقط در صورت موجود بودن)، پیام خطا (فقط در صورت خرابی و فقط در صورت وجود).
موجود)، کد خروج (از sysexits.h؛ EX_OK نشان دهنده موفقیت است).
نام مستعار [پرونده]
آدرس های موجود در فایل نام مستعار را جایگزین گیرندگان محلی کنید. فایل نام مستعار a است
فایل متنی ساده حاوی نگاشت بین یک آدرس محلی و یک لیست از دامنه
آدرس ها. یک آدرس محلی به عنوان آدرسی بدون کاراکتر «@» و دامنه تعریف میشود
آدرسی با نویسه «@» است. نگاشتها به این شکل هستند:
محلی: [ایمیل محافظت شده], [ایمیل محافظت شده]
چندین آدرس دامنه با کاما از هم جدا می شوند. نظرات با "#" و شروع می شود
تا انتهای خط ادامه دهید
آدرس محلی به طور پیش فرض اهمیت ویژه ای دارد و اگر محلی باشد مطابقت دارد
آدرس در فایل نام مستعار یافت نمی شود. اگر نه به طور پیش فرض نام مستعار یافت می شود، سپس the
آدرس محلی همانطور که هست باقی مانده است.
یک آرگومان خالی برای دستور مستعار، جایگزینی محلی را غیرفعال می کند
آدرس ها. این پیش فرض است.
مثال ها
پیکر بندی پرونده
# مثال برای فایل پیکربندی کاربر ~/.msmtprc
#
# این فایل بر روی TLS و احراز هویت تمرکز دارد. ویژگی هایی که در اینجا استفاده نمی شوند عبارتند از
# ورود به سیستم، مهلت زمانی، پراکسی های SOCKS، پارامترهای TLS، اعلان وضعیت تحویل
تنظیمات # (DSN) و موارد دیگر.
# مقادیر پیش فرض را برای همه حساب های زیر تنظیم کنید.
پیش فرض
# از پورت ارسال نامه 587 به جای پورت 25 SMTP استفاده کنید.
پورت 587
# همیشه از TLS استفاده کنید.
tls در
# فهرستی از CAهای قابل اعتماد برای TLS تنظیم کنید. می توانید از یک فایل پیش فرض در سراسر سیستم استفاده کنید،
# مانند این مثال، یا گواهی ریشه CA خود را دانلود کرده و از آن استفاده کنید.
tls_trust_file /etc/ssl/certs/ca-certificates.crt
# علاوه بر این، باید از دستور tls_crl_file برای بررسی ابطال استفاده کنید
# گواهی، اما متاسفانه دریافت لیست ابطال و حفظ آنها
# به روز بودن ساده نیست.
#tls_crl_file ~/.tls-crls
# یک سرویس ایمیل رایگان
ایمیل رایگان حساب کاربری
# نام میزبان سرور SMTP
میزبان smtp.freemail.example
# به عنوان جایگزینی برای tls_trust_file/tls_crl_file، می توانید از tls_fingerprint استفاده کنید
# برای پین کردن یک گواهی. شما باید اثر انگشت را زمانی که
# گواهی سرور تغییر می کند، اما یک مهاجم نمی تواند شما را فریب دهد تا بپذیرید
# گواهی تقلبی اثر انگشت را با
# $ msmtp --serverinfo --tls --tls-certcheck=off --host=smtp.freemail.example
tls_fingerprint 00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33
# پاکت از آدرس
از جانب [ایمیل محافظت شده]
# احراز هویت. رمز عبور با استفاده از یکی از پنج روش داده شده است، در زیر ببینید.
تایید در
کاربر joe.smith
# رمز عبور روش 1: رمز عبور را به keyring سیستم اضافه کنید و اجازه دهید msmtp دریافت کند
# آن را به طور خودکار. برای تنظیم رمز عبور کلید با استفاده از libsecret Gnome:
# $ Secret-tool store --label=msmtp \
# میزبان smtp.freemail.example \
# سرویس smtp \
# کاربر joe.smith
# رمز عبور روش 2: رمز عبور را در یک فایل رمزگذاری شده ذخیره کنید و به msmtp بگویید
# از کدام دستور برای رمزگشایی آن استفاده کنید. این معمولاً مانند GnuPG استفاده می شود
#این مثال معمولاً gpg-agent یک بار رمز رمزگشایی را درخواست می کند.
رمز عبور gpg2 --no-tty -q -d ~/.msmtp-password.gpg
# رمز عبور روش 3: رمز عبور را مستقیماً در این فایل ذخیره کنید. معمولا اینطور نیست
# یک ایده خوب برای ذخیره رمزهای عبور در فایل های متنی ساده. اگر به هر حال آن را انجام دهید، در
حداقل مطمئن شوید که این فایل فقط توسط خودتان قابل خواندن است.
#password secret123
# رمز عبور روش 4: ذخیره رمز عبور در ~/.netrc. این روش احتمالا نیست
# مرتبط دیگر.
# رمز عبور روش 5: رمز عبور را تعیین نکنید. سپس Msmtp از شما درخواست می کند
# آی تی. این به این معنی است که شما باید بتوانید هنگام اجرا msmtp در ترمینال تایپ کنید.
# آدرس پست دوم در همان سرویس ایمیل رایگان
حساب کاربری freemail2: ایمیل رایگان
از جانب [ایمیل محافظت شده]
# سرور SMTP ISP شما
حساب isp
میزبان mail.isp.example
از جانب [ایمیل محافظت شده]
تایید در
کاربر 12345
# یک حساب پیش فرض تنظیم کنید
پیش فرض حساب کاربری: فری میل
با استفاده از msmtp با مات
یک فایل پیکربندی برای msmtp ایجاد کنید و خطوط زیر را به Mutt خود اضافه کنید
فایل پیکربندی:
تنظیم sendmail="/path/to/msmtp"
تنظیم use_from=بله
تنظیم realname="شما نام"
تنظیم از=[ایمیل محافظت شده]
تنظیم envelope_from=بله
گزینه envelope_from=yes به Mutt امکان استفاده از آن را می دهد -f گزینه msmtp بنابراین msmtp انتخاب می کند
اولین حسابی که با آدرس from مطابقت دارد [ایمیل محافظت شده].
به طور خلاصه، شما می توانید از -a گزینه:
تنظیم sendmail="/path/to/msmtp -a حساب من"
یا همه چیز را از خط فرمان تنظیم کنید (اما توجه داشته باشید که نمی توانید برای این رمز عبور تعیین کنید
مسیر):
تنظیم sendmail="/path/to/msmtp --host=mailhub -f [ایمیل محافظت شده] -- tls
--tls-trust-file=trust.crt"
اگر چندین حساب ایمیل در فایل پیکربندی msmtp خود دارید و اجازه دهید Mutt از آن استفاده کند
-f گزینه ای برای انتخاب درست، می توانید به راحتی حساب ها را در Mutt با استفاده از
خطوط پیکربندی Mutt زیر:
درشت دستور عمومی " 1" ":تنظیم از=[ایمیل محافظت شده]"
درشت دستور عمومی " 2" ":تنظیم از=[ایمیل محافظت شده]"
درشت دستور عمومی " 3" ":تنظیم از=[ایمیل محافظت شده]"
با استفاده از msmtp با پست
یک حساب پیش فرض تعریف کنید و موارد زیر را در حساب خود قرار دهید ~/.mailrc:
تنظیم sendmail="/path/to/msmtp"
با استفاده از msmtp با تور
از تنظیمات زیر استفاده کنید:
پروکسی_میزبان 127.0.0.1
درگاه پروکسی 9050
TLS on
از یک آدرس IP به عنوان نام میزبان پروکسی استفاده کنید، به طوری که msmtp در هنگام جستجوی DNS نشت
حل کردن آن
TLS برای جلوگیری از خواندن جلسه SMTP شما توسط میزبان های خروجی مورد نیاز است. شما نیز نیاز دارید
tls_trust_file or tls_اثرانگشت برای بررسی هویت سرور
تنظیم نکن دامنه به چیزی که نمی خواهید فاش کنید (اصلا آن را تنظیم نکنید اگر
ممکن است)
نام مستعار پرونده
# نمونه فایل مستعار
# روت را برای جو و جین بفرستید
ریشه: [ایمیل محافظت شده], [ایمیل محافظت شده]
# cron را برای مارک ارسال کنید
cron: [ایمیل محافظت شده]
# بقیه موارد را برای ادمین ارسال کنید
پیش فرض: [ایمیل محافظت شده]
با استفاده از خدمات onworks.net از msmtp به صورت آنلاین استفاده کنید