محتوای آموزشی وبلاگ نتآرام
میخواهید از برنامه ایمیل یا فرم سایت پیامی بفرستید، اما خطایی شبیه 530 Must issue a STARTTLS command first نمایش داده میشود. یعنی سرور ایمیل پیش از پذیرش ادامه ارتباط، از برنامه میخواهد اتصال را رمزگذاری کند. معمولاً برنامه هنوز اتصال امن را شروع نکرده یا نوع امنیت و پورت با تنظیمات سرور هماهنگ نیست.
برای رفع مشکل لازم نیست بررسی اعتبار گواهی را خاموش کنید. ابتدا تنظیمات ارائهدهنده ایمیل را پیدا کنید و سپس نوع اتصال را مطابق همان سرویس عوض کنید. اگر متن خطا فقط «530 Authentication required» است و نام STARTTLS ندارد، ممکن است مشکل اصلی ورود به حساب باشد؛ متن دقیق پیام را جداگانه بخوانید.
پیش از تغییر تنظیمات، اطلاعات درست را پیدا کنید
در پنل هاست یا راهنمای سرویس ایمیل خود، نام سرور Outgoing mail / SMTP، پورت، نوع امنیت و نام کاربری را پیدا کنید. در بعضی حسابهای cPanel از Email Accounts ← Connect Devices میتوانید تنظیمات پیشنهادی همان صندوق را ببینید. اگر جای گزینه فرق داشت، راهنمای میزبان را بخوانید. نام سرور نمونه این مقاله
mail.example.com است؛ در تنظیمات واقعی آن را با نام اعلامشده برای حساب خودتان جایگزین کنید.دو ترکیب متداول اینها هستند، اما ممکن است سرویس شما ترکیب دیگری اعلام کند:
| پورت متداول | نوع امنیت در برنامه | روش شروع اتصال |
| --- | --- | --- |
| ۵۸۷ | STARTTLS یا TLS | ابتدا ارتباط SMTP برقرار و سپس به اتصال رمزگذاریشده ارتقا داده میشود. |
| ۴۶۵ | SSL/TLS یا TLS مستقیم | ارتباط از همان ابتدا با TLS آغاز میشود. |
از روی شماره پورت بهتنهایی درباره پشتیبانی سرور نتیجه نگیرید. پورت و امنیت را دقیقاً مطابق راهنمای ارائهدهنده انتخاب کنید. در بسیاری از سرویسها نام کاربری نشانی کامل ایمیل است، اما مقدار صحیح را در تنظیمات همان سرویس ببینید.
تنظیم برنامه ایمیل یا افزونه سایت
- تنظیمات حساب ایمیل را در برنامه باز کنید و بخش Outgoing Server یا SMTP را پیدا کنید. در افزونه ارسال ایمیل وردپرس نیز صفحه تنظیمات SMTP افزونه را باز کنید؛ عنوان دقیق به نسخه و افزونه بستگی دارد.
- نام میزبان را از راهنمای سرویس وارد کنید. اگر میزبان برای گواهی نام مشخصی داده است، بهجای نشانی IP یا نام دلخواه از همان نام استفاده کنید.
- اگر سرویس پورت ۵۸۷ و STARTTLS را اعلام کرده، هر دو را انتخاب کنید. اگر پورت ۴۶۵ و SSL/TLS مستقیم را اعلام کرده، آن ترکیب را بگذارید. انتخاب STARTTLS روی پورتی که TLS مستقیم انتظار دارد یا برعکس میتواند اتصال را خراب کند.
- گزینه احراز هویت سرور خروجی را، اگر ارائهدهنده لازم میداند، روشن کنید و نام کاربری و رمز صندوق را وارد کنید. این بخش را با تنظیمات دریافت ایمیل IMAP اشتباه نگیرید؛ هر کدام پورت جدا دارند.
- تنظیمات را ذخیره و یک پیام آزمایشی به صندوق دیگری که در اختیار دارید بفرستید. هم موفقیت ارسال در برنامه و هم رسیدن واقعی پیام به صندوق مقصد را بررسی کنید.
رمز ایمیل را داخل گزارش، اسکرینشات یا دستور آزمایشی ننویسید. اگر برنامه گزینهای برای بیاثرکردن خطاهای گواهی دارد، آن را بهعنوان راهحل انتخاب نکنید؛ ابتدا نام میزبان و اعتبار گواهی را درست کنید.
اگر هنوز خطا دارید، اتصال را مرحلهبهمرحله آزمایش کنید
اگر به ترمینال دارای OpenSSL دسترسی دارید، این آزمون فقط برای سرور ایمیلی است که اجازه استفاده از آن را دارید. در ترمینال رایانه خود یا سرور سایت، نام نمونه را در هر دو جای دستور با نام واقعی سرور جایگزین کنید:
کد / دستورopenssl s_client -starttls smtp -connect mail.example.com:587 -servername mail.example.com -verify_hostname mail.example.com -verify_return_error
این دستور برای حالت STARTTLS روی پورت ۵۸۷ نوشته شده است. ابتدا به SMTP وصل میشود، ارتقای TLS را درخواست میکند و نام و زنجیره گواهی را میسنجد. نام کاربری و رمز به آن نمیدهید. بعد از دیدن نتیجه، با
Ctrl+C خارج شوید.- اگر اتصال و بررسی گواهی موفق است، باید نشانهای مانند Verify return code: 0 (ok) ببینید. این فقط سالمبودن بخش اتصال و گواهی را نشان میدهد؛ درستی رمز، اجازه ارسال و تحویل پیام را ثابت نمیکند.
- اگر خطای عدم تطابق نام گواهی دیدید، میزبان واردشده را با نام رسمی سرویس مقایسه کنید. از ارائهدهنده بخواهید گواهی معتبر برای آن نام ارائه کند؛ اعتبارسنجی را خاموش نکنید.
- اگر اتصال برقرار نشد یا زمانش تمام شد، از بازبودن پورت خروجی در شبکه و فایروال و درستبودن نام سرور مطمئن شوید. ممکن است اجرای دستور از رایانه شما مجاز باشد ولی از هاست سایت نه، یا برعکس.
- اگر پیام مربوط به CA یا ابزار قدیمی بود، ساعت سیستم و مخزن گواهیهای مورد اعتماد را بررسی و طبق راهنمای سیستم بهروز کنید. جزئیات خطا را بدون رمز برای مدیر سرور بفرستید.
این دستور برای پورت ۴۶۵ به همین شکل مناسب نیست، چون آن پورت معمولاً TLS مستقیم دارد. ابتدا روش سرویس خود را مشخص کنید و برای آزمایش آن از ابزار و دستور متناسب استفاده کنید.
اگر سرور شما پیام را از طریق سرور واسط میفرستد
در بعضی سرورها برنامه ایمیل ابتدا به یک smarthost یا سرور واسط تحویل میدهد. ممکن است برنامه تنظیم درستی داشته باشد، اما ارتباط سرور شما با واسط بدون STARTTLS انجام شود. در نمونه مستند cPanel، تنظیم خاصی در Exim مانع TLS بوده است. این فقط یکی از علتهاست و نباید بدون دیدن تنظیمات سرور همان تغییر را روی همه سیستمها اعمال کرد.
مدیر سرور باید گزارش ارسال را در زمان خطا ببیند، مقصد واسط و نیاز آن به TLS را با تنظیمات حمل ایمیل تطبیق دهد و پیش از تغییر از پیکربندی نسخه پشتیبان بگیرد. در هاست اشتراکی معمولاً این بخش در اختیار مدیر سرویس است؛ متن خطا، زمان و آدرس فرستنده را از مسیر امن برای پشتیبانی بفرستید، نه رمز صندوق را.
بررسی نهایی و قدم بعدی
بعد از اصلاح، یک پیام جدید به آدرس خودتان بفرستید و پوشه ورودی و هرزنامه مقصد را نگاه کنید. اگر خطای STARTTLS برطرف شد ولی خطای ورود ظاهر شد، نام کاربری، رمز و سیاست ورود سرویس را جداگانه بررسی کنید. اگر ارسال پذیرفته شد اما پیام نرسید، گزارش تحویل و پاسخ سرور مقصد لازم است؛ پیام «ارسال شد» همیشه معادل رسیدن به صندوق مخاطب نیست.
اگر ایمیلهای فرم هاست وردپرس را تنظیم میکنید، همین آزمون را با افزونه ارسال سایت و یک نشانی مقصد واقعیِ متعلق به خودتان انجام دهید. مشکل ارتباط SMTP را به خطای قالب فرم یا رمز حساب نسبت ندهید مگر شواهد همان را نشان دهد.
برچسبها:
اشتراکگذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.
مقاله بعدی
دیدگاهها (۰)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
