Зачем мне нужен промежуточный SMTP-сервер для отправки почты? Почему мой клиент (Outlook, Thunderbird) не может отправлять сообщения непосредственно в домен SMTP получателя?
Например, если мне нужно отправить электронное письмо address@example.com
с моей учетной записью Gmail, я отправлю его на smtp.gmail.com
сервер; и затем этот сервер отправит мое сообщение на сервер MX example.com
.
Ответы:
Технически возможно отправить электронное письмо непосредственно на SMTP-сервер получателя с вашего компьютера.
Если посмотреть на это с исторической точки зрения, если удаленный SMTP-сервер не работает, вы хотите, чтобы система автоматически обрабатывала его и продолжала повторять попытки - следовательно, у вас есть SMTP-сервер. Точно так же в старые времена не все почтовые серверы были подключены все время - междугородние ссылки были дорогими, поэтому почта была поставлена в очередь и отправлялась, когда связь была установлена.
Переходя к дешевому Интернету, все еще полезно иметь механизмы для повторной отправки электронной почты, если сервер недоступен, и не идеально, чтобы эта функция была записана в MUA (почтовый агент пользователя / программа почты конечного пользователя). Эти функции вписываются в MTA (почтовый сервер / SMTP-сервер).
Но становится еще хуже - спаммеры . Большинство писем (более 80%) являются спамом. Таким образом, почтовые провайдеры делают все возможное, чтобы решить эту проблему - и большое количество методов делают предположения о способе доставки электронной почты - следующие важные соображения:
Greylisting: некоторые провайдеры автоматически разрывают почтовое соединение, если отправитель и получатель не общались ранее, и ожидают, что они попробуют во второй раз - потому что спаммеры часто этого не делают, а SMTP-сервер всегда должен это делать. Это уменьшает объемы спама примерно на 80%. Это отстой, хотя делать это.
Репутация: гораздо более вероятно, что кто-то, отправляющий электронную почту через известный SMTP-сервер с хорошей репутацией, является законным, чем сервер, работающий на лету. Чтобы почувствовать репутацию, провайдеры делают несколько вещей:
Блокировать динамические / клиентские адреса (не 100%, но выделены большие фрагменты Интернета).
Посмотрите, что обратный DNS соответствует прямому DNS: это не так сложно сделать, но показывает некоторый уровень подотчетности и знание передового опыта - и то, чего нет у многих блоков клиентских адресов.
Репутация. При взаимодействии с другими SMTP-серверами многие провайдеры отслеживают количество спама и объемы отправленных сообщений и могут уменьшить количество спама, ограничивая количество подключений и следя за этими параметрами. (Есть много способов сделать это, не все из которых очевидны, но которые требуют известного отправителя).
SPF и DKIM: эти механизмы связывают ресурсы DNS с доменным именем, чтобы сделать подделку почты труднее, и было бы трудно (но не обязательно невозможно развернуть, если почтовая программа (MUA) отвечает за исходящую почту. (Добавлено, чтобы сделать этот ответ более Завершить, поскольку это уже принято. Надо отдать должное постерам ниже, так как это ускользнуло от меня, но, тем не менее, очень актуально)
Есть, вероятно, другие незначительные проблемы, но они будут основными.
источник
В 1991 году - и в большинстве начале 1990-х и даже раньше - вы могли бы делать то, что описали. Но в 2015 году реальность такова, что, хотя технически можно отправить электронное письмо кому угодно с любого компьютера, на котором установлена почтовая служба, мир СПАМа сделал этот метод практически бесполезным.
Когда вы используете «настоящую» службу SMTP, такие вещи, как записи PTR, записи SPF и даже DomainKeys, устанавливаются только для одной цели и только для одной цели: подтвердить, что SMTP, отправляющий сообщение, является законным. А если нет? Отфильтруйте сообщение в папку СПАМ или «большую пропасть» удаления. Вот разбивка каждого из этих пунктов:
PTR (запись указателя / обратная запись DNS): проверка на уровне сервера. Как объясняется здесь , запись PTR используется для сопоставления сетевого интерфейса (IP) с именем хоста. Это означает, что если у вас есть адрес
123.456.789.0
на вашем SMTP-сервере, отправляющем электронные письма дляsmtp.example.com
соответствующей записи PTR для этогоsmtp.example.com
. Кажется слишком простым, но это работает, поскольку единственный, кто действительно может установить запись PTR, является владельцем IP-адреса, и он может быть установлен только на их оборудовании. Таким образом, он действует как точка проверки того, кто владеет / управляет / управляет этим IP-адресом.SPF (платформа политики отправителя): проверка уровня входа DNS имени хоста. Запись SPF, как объясняется здесь , в основном представляет собой запись DNS, устанавливаемую держателем имени домена, которая предоставляет список IP-адресов и имен хостов серверов, которым разрешено отправлять электронные письма для этого имени домена. Это снова еще один шаг проверки, который гарантирует, что только истинный владелец имени домена для SMTP-сервера может отправлять почту. Допустим, сервер с IP-адресом
123.456.789.9
отправляет электронные письмаexample.com
. Мы уже знаем, чтоsmtp.example.com
использует123.456.789.0
, но запись в записи SPF дляexample.com
может заявить: «Эй!123.456.789.9
хороший сервер! Он законный! Уважайте его письма! »DKIM (DomainKeys Identified Mail): проверка уровня сообщения электронной почты. Как объясняется здесь и в Википедии , «DKIM - это система проверки электронной почты, предназначенная для обнаружения подделки электронной почты, предоставляя механизм, позволяющий получающим почтовым обменникам проверять, что входящая почта из домена авторизована администраторами этого домена и что электронная почта (включая вложения) не был изменен во время транспортировки ». Используя криптографические хеши, DKIM проверяет, что сама почта не была отфильтрована или подделана во время транспортировки. Это также служит еще одним пунктом проверки в цепочке «Вы законный или вы СПАМ?».
Таким образом, в конце концов, общедоступный SMTP-сервер, который стоит чего-либо, будет иметь как минимум два из этих элементов (PTR и SPF), чтобы проверить, что SMTP-сервер и связанная с ним электронная почта являются законными. Не все используют DKIM, но это еще один уровень проверки, который становится все более популярным в настоящее время, так как спаммеры становятся более настойчивыми в своих попытках отправить спам.
источник
Большинство жилых интернет-провайдеров блокируют TCP-порт 25 (SMTP), чтобы предотвратить ваше участие в спам-сети. Если ваш компьютер заражается, ваш компьютер может начать извергать спам по приказу кого-то еще.
источник
Все остальные ответы превосходны, и спам имеет к этому непосредственное отношение.
Но на самом деле есть более простой, более общий ответ: особенности. Отправка электронной почты через SMTP на самом деле очень сложная задача. Даже без спама вы не захотите реализовывать весь набор функций протокола SMTP в каждом почтовом клиенте; вам лучше с выделенным программным обеспечением (sendmail, postfix и т. д. самые большие в мире * nix, Exchange в мире Windows).
Например, даже на самом базовом уровне «настоящий» SMTP-сервер должен как минимум иметь возможность разрешать записи MX. Затем он должен согласовать функции (в основном TLS, но есть и другие функции). Он должен управлять очередями для повторных попыток, генерировать отчеты о недоставке и т. Д.
И это только базовая, обязательная функциональность, без которой сервер даже не работал бы. Он даже не включает такие вещи, как перезапись адресов, почтовые программы. Не говоря уже о дюжине других протоколов, которые поддерживают sendmail и др., Таких как UUCP.
Реализация SMTP в Outlook, Thunderbird и т. Д. Очень минимальна - в лучшем случае примерно эквивалентна использованию умного хоста на sendmail, если таковой.
Связанная, но отдельная проблема: электронная почта - это тема, очень чувствительная к безопасности, и вы бы хотели, чтобы ее обрабатывал один или несколько серверов с централизованным управлением, а не сотни или тысячи отдельных на каждом рабочем столе.
источник
Вы можете создать почтовую программу, которая бы это делала, и я не сомневаюсь, что другие уже делали (или пытались) это раньше.
По сути, вы будете писать инструмент, который будет одновременно MUA (агент пользователя почты) и MTA (агент передачи почты).
Причина, по которой это традиционно разделяется на разные инструменты, с MTA, находящимся «на стороне сервера», заключается в том, что MTA, отправляющий почту через открытый интернет, значительно сложнее в написании и настройке, а также в том, что ему выгодно находиться на надежный "всегда на" сервере.
MTA должен:
Найдите и подключитесь к серверам, которым он не доверяет или которые могут плохо себя вести, и исправьте ошибки, не теряя почту.
Обработайте неработающие серверы и направьте их на альтернативные серверы или поставьте в очередь почту для последующей повторной попытки. Это лучше всего работает на серверном процессе, который всегда подключен к Интернету. Это также означает, что агенту пересылки почты нужны собственные области хранения для почты, находящейся в очереди.
Работа с различными возможностями сервера, настройка поведения в соответствии с возможностями принимающего сервера.
Сообщите пользователю об ошибках или о невозможности доставки почты, чтобы почта не просто потерялась.
Иметь отличные методы безопасности и быть очень внимательным к безопасности.
В идеале, находиться на надежном, всегда подключенном сервере со стабильным IP-адресом и обратной записью DNS, то есть подключением к Интернету, подходящим для общедоступных серверов. Это помогает другим системам не обнаруживать почту, отправленную как спам.
Принимая во внимание эти требования, имеет смысл разместить SMTP-сервер на общедоступном постоянно включенном сервере и попробовать использовать инструмент, подходящий для выполнения этой конкретной работы.
источник
Еще одна вещь, которую следует учитывать, это получение возвращенного электронного письма . Как минимум, вся исходящая электронная почта имеет адрес FROM, на который можно отправить ответ (неизвестный пользователь, ответ из отпуска и т. Д.). Чтобы разрешить обратный адрес, должна существовать запись MX, указывающая на местоположение входящего почтового ящика. Если вы не отправляете электронную почту с компьютера со статическим IP-адресом, который всегда включен, вам понадобится сервер для обработки этих входящих сообщений. Это обычно (но не всегда) обрабатывается одной и той же службой.
GMail, Outlook 365 и Yahoo Mail являются примерами служб электронной почты, которые используются лицами, отправляющими электронную почту. Для коммерческой отправки электронной почты существуют такие службы, как MailChimp, Marketo и Eloqua, которые очень хороши в отправке массовой электронной почты для компании и обработке таких вещей, как отскок, регулирование и доставка.
Смотрите: https://en.m.wikipedia.org/wiki/Bounce_address
источник