Найпростіший спосіб надіслати тестовий лист із сервера, перевірити налаштування?


13

Використовуючи Windows (2008), чи є простий інструмент командного рядка, який я можу використовувати для надсилання тестового електронного листа з сервера для тестування SMTP, автентифікації користувача, портів тощо ... без написання власного?

Відповіді:


18

Ваш найкращий, найпростіший і доступний у всьому світі інструмент: telnet

  1. У командному рядку введіть: telnet mail.mailserver.com 25
  2. Введіть EHLO та натисніть клавішу ENTER.
  3. Введіть AUTH ВХОД. Сервер відповідає зашифрованим запитом на ваше ім’я користувача.

    Введіть своє ім'я користувача, зашифроване в базі 64. Ви можете використовувати один з декількох інструментів, доступних для кодування вашого імені користувача.

    Сервер відповідає на зашифровану базу 64 запиту на ваш пароль. Введіть свій пароль, зашифрований у базі 64.

  4. Введіть MAIL FROM :, а потім натисніть ENTER. Якщо відправнику заборонено відправляти пошту, SMTP-сервер повертає помилку.

  5. Введіть RCPT TO: і натисніть клавішу ENTER. Якщо одержувач не є дійсним одержувачем або сервер не приймає пошту для цього домену, SMTP-сервер повертає помилку.

  6. Введіть ДАНІ.

    За бажанням введіть текст повідомлення, натисніть клавішу ENTER, введіть крапку (.), А потім знову натисніть клавішу ENTER.

    Якщо пошта працює належним чином, ви повинні побачити відповідь, аналогічну наведеній нижче, що вказує на те, що пошта в черзі для доставки:

    250 2.6.0 MAILID-SOMETHINGHERE@mail.somedomain.com.

Цитується частково з цієї статті MS Technet


ха-ха, я не цитую, знаю, чи це "просто", але це, безумовно, досить дурний метод.
Марк Хендерсон

Це досить просто ... на щастя, мені не потрібно було робити автентифікацію (локальний сервер), тому мені не довелося турбуватися про кодування base64, хоча доступно багато сайтів, які можуть мені допомогти в цьому.
Джейсон

16

Для мене найпростішим методом є використання Send-MailMessage в Powershell. З консолі Powershell просто запустіть:

PS C:\Users\admin> Send-MailMessage -SMTPServer smtp.domain.com -To xxxxx@gmail.com -From youremail@domain.com -Subject "This is a test email" -Body "Hi, this is a test email sent via PowerShell to test the STMP relay server"

Варіанти з вантажем можна знайти за цим посиланням :


1
корисний фрагмент powerhell
vijay shiyani

4

Якщо це те, що вам доведеться перевіряти раз у раз або просто для невеликої кількості серверів SMTP, то telnet може бути найзручнішим інструментом, як було зазначено. Найкраще в telnet - це майже універсальний інструмент, і він дозволяє вам протестувати не тільки SMTP-сервер, але й інші сервіси, такі як POP, IMAP тощо.

Однак, якщо ви проводите ці тести регулярно або в більших масштабах, я б настійно рекомендував використовувати сваки . Він надзвичайно простий у використанні, а також може виконувати інші завдання, такі як надсилання доданих файлів (що може бути корисно для тестування ваших фільтрів вмісту пошти).

Він також дасть вам корисні вихідні коди, так що ви навіть можете використовувати його для виконання автоматизованих тестів.

Я часто використовую його в Linux, але, будучи сценарієм Perl, ви можете без проблем запускати його на вікні Windows.


Через дев'ять років я також можу порекомендувати сваки. В ОС Mac встановіть brew install swaks.
tuomassalo

1

Якщо ви не хочете вручну запускати всю транзакцію SMTP, ви можете використовувати інструмент командного рядка, такий як blat для надсилання електронних листів.



0

Ви можете спробувати онлайн-сервіс, який зробить роботу за вас. Ви можете швидко дізнатися про поширені проблеми з сервером SMTP

https://checkeremail.com/smtp-check


1
Це не є вирішенням проблеми, як запитував ОП, оскільки вона не обробляє автентифікацію користувача. Навіть якщо це було так, надсилання цих даних на випадковий сторонній сайт - жахлива ідея.
Меттью Фіц Джеральд-Чемберлен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.