Отправка сообщения на почту Flutter

Рейтинг: 1Ответов: 1Опубликовано: 09.02.2023

Здравствуйте подскажите пожалуйста, как во Flutter сделать отправку данных на почту. Есть 2 текстовых поля допустим адрес и номер , в приложении человек указывает данные и при нажатии на кнопку отправить из приложения сразу приходит письмо на определенную почту установленную за ранее в самом коде. То есть почта всегда постоянна и одна.

Ответы

▲ 1

TL;DR; Вам нужно использовать библиотеку для работы с IMAP, POP3 и SMTP (например enough_mail), а так же иметь какой либо SMTP-сервер который будет отправлять сообщения.


Электронная почта (email) — это система передачи сообщений между пользователями через интернет. Для работы электронной почты используются почтовые серверы, которые обеспечивают хранение, отправку и получение сообщений. Процесс передачи письма от отправителя к получателю состоит из нескольких этапов, которые включают взаимодействие различных серверов и протоколов.

Почтовые серверы

  1. SMTP-сервер (Simple Mail Transfer Protocol) — сервер, который отвечает за отправку электронной почты. Этот протокол используется для передачи писем от клиента (почтовой программы) на почтовый сервер отправителя и дальше по цепочке почтовых серверов до сервера получателя.

  2. IMAP-сервер (Internet Message Access Protocol) и POP3-сервер (Post Office Protocol 3) — серверы, которые отвечают за получение почты. Разница между ними:

    • IMAP: позволяет пользователю работать с почтой прямо на сервере, синхронизировать почту между устройствами (например, телефон, компьютер и т.д.).
    • POP3: загружает письма на устройство пользователя, после чего они удаляются с сервера (в традиционном режиме работы).
  3. Mail Transfer Agent (MTA) — агент передачи почты, который отвечает за передачу сообщений между почтовыми серверами. Это серверное программное обеспечение, которое перенаправляет письма.

  4. Mail Delivery Agent (MDA) — программное обеспечение, которое доставляет почту в почтовый ящик пользователя.

  5. Mail User Agent (MUA) — это клиентская программа (почтовый клиент, например, Outlook, Gmail, Thunderbird), с помощью которой пользователь взаимодействует с почтовыми серверами.

Этапы прохождения электронной почты (схема):

[Отправитель] 
    --> [Почтовый клиент отправителя] 
      --> [SMTP-сервер отправителя] 
          --> [DNS-сервер]
             --> [SMTP-сервер получателя]
                 --> [IMAP/POP3-сервер получателя]
                     --> [Почтовый клиент получателя]
                         --> [Получатель]
  1. Отправитель (MUA):

    • Пользователь создаёт письмо в своем почтовом клиенте (например, Gmail, Outlook, Thunderbird).
    • Почтовый клиент отправляет письмо на SMTP-сервер отправителя.
  2. SMTP-сервер отправителя:

    • Этот сервер работает по протоколу SMTP и отвечает за передачу письма.
    • После получения письма сервер отправителя определяет, на какой почтовый сервер нужно отправить письмо (если домен получателя не совпадает с доменом отправителя).
    • Для этого SMTP-сервер отправителя делает запрос к системе DNS для поиска MX-записи (Mail Exchange) домена получателя. MX-запись содержит информацию о том, какой сервер обрабатывает почту для конкретного домена.
  3. Промежуточные почтовые серверы (если есть):

    • В некоторых случаях письмо может проходить через несколько промежуточных серверов, особенно если это письма между разными сетями или странами. Эти серверы могут быть использованы для маршрутизации сообщений по пути к конечному серверу.
  4. SMTP-сервер получателя:

    • Найдя нужный сервер через DNS, SMTP-сервер отправителя передаёт письмо на SMTP-сервер получателя.
    • SMTP-сервер получателя принимает письмо и передаёт его на MDA (Mail Delivery Agent), который отвечает за доставку письма в почтовый ящик пользователя.
  5. Почтовый сервер получателя (MDA):

    • После получения письма сервер сохраняет его в почтовом ящике пользователя.
    • Если используется IMAP, письма остаются на сервере, и пользователь может просматривать их с разных устройств. Если используется POP3, письма могут быть загружены на устройство и удалены с сервера.
  6. Получатель (MUA):

    • Пользователь подключается к почтовому серверу с помощью своего почтового клиента (например, через IMAP или POP3).
    • При IMAP письма остаются на сервере, и изменения (например, прочтение или удаление) синхронизируются между всеми устройствами. При POP3 письма могут быть загружены локально, и сервер освобождается от хранения данных.
    • Пользователь может просмотреть, прочитать и ответить на письмо.