Чому OS X може надсилати електронну пошту без попереднього налаштування SMTP?


9

Коли я спробую команду в терміналі, надсилається електронний лист. Я перевірив, чи не працює локальний SMTP, тож який механізм використовує Apple поза сценою?

echo "Hello" | mail -s "Test" foo@bar.com

Відповіді:


4

mail в OS X насправді здається Postfix досить довгим, щоб розібратися з поштою, а потім зірвати його невдовзі.

Щоб побачити це в дії, спробуйте telnet localhost 25перед поштовою командою, потім негайно, потім почекайте 5 хвилин і спробуйте ще раз.

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


7

Демони SMTP або сервери існують, щоб отримувати пошту, а не надсилати її. У вашому прикладі, mailце суто клієнт електронної пошти, і він підключається до будь-якого сервера, визначеного відповідною записом DNS MX bar.com, і не вимагає запуску локального сервера для цього.

Однак, залежно від налаштування вашої пошти, вам може знадобитися увійти до сервера вихідних поштових серверів для автентифікації, або якщо нічого іншого не лише для того, щоб надіслати адреси відправника та зворотного адреси тощо. Тепер ви можете це зробити в командному рядку, передавши відповідний Параметри терміналу, але поки ви налаштували свою програму Mail, цей конфігурація вже зберігається, і, просто тимчасово запустивши поштову підсистему, команди терміналу можуть захопити цю інформацію і тепер мати один або кілька поштових серверів smtp, які вони можуть вибрати для надсилання вихідних повідомлень. Потім вони завершать процеси, коли вони завершаться.

Ви можете перевірити це все в командному рядку та надіслати пошту без використання поштового клієнта. Я не на Mac, тому ці команди можуть потребувати редагування хтось хто є, але ви можете це зробити:

nslookup
set type=mx
bar.com
exit

telnet MXServer 25 (where MXServer is one of the results returned above and 25 is the port number for SMTP servers)

Прочитайте це для отримання додаткової інформації про електронну пошту через telnet - це чудовий інструмент налагодження


Хоча ваша відповідь отримала найбільше голосів, але вона неправильна. Mac створить Postfix для отримання електронної пошти та відключення автоматично, як @zigg запропонував вище. Дякуємо за ваші зусилля.
Йога

Справа не в тому, що вона невірна, всі деталі є правильними, але це не обов'язково відповідає на ваше запитання в його поточній формі. Відредаговано так.
stuff

@stuffe сказав: "Демони SMTP або сервери є для того, щоб отримувати пошту, а не надсилати її". Я повинен просити відрізнятися. Оскільки це коментар, я цитую це лише з Вікіпедії: "Поштові програми клієнтського рівня зазвичай використовують SMTP лише для надсилання повідомлень"
Seamus,

1

Я думаю, що mailзавжди використовується локальний sendmail для надсилання листів. У OSX sendmail - це поштовий індекс. І його точно використовують.

Ви можете перевірити заголовки пошти Received: by [Your-Mac] (Postfix, from userid ....

Тим не менш, це не дуже гарна ідея використовувати mail(або краще postfix), як це. Найкращою практикою буде використання Smart Host для вашого місцевого Postfix, щоб уникнути часто використовуваних обмежень брандмауера.

Ви можете знайти рішення в SMTP Smart Host Setup for Postfix у Snow Leopard, який працює для мене (також на Lion, Mountain Lion).


Із заголовка я знайшов ... Отримано: 10.194.242.101 з SMTP id xxx; ... X-отримано: до 10.68.92.196 з ідентифікатором SMTP yyy; ... але мій внутрішній IP-код 192.168.xx
Йога
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.