Настройка SMTP-сервера, использование и рекомендации
Опубликовано: 2022-04-08Вы когда-нибудь задумывались, как на самом деле работают электронные письма. Когда вы отправляете электронное письмо, и через несколько секунд оно оказывается в папке «Входящие» вашего получателя, технология, лежащая в основе того, как это происходит, — это простой протокол передачи почты (SMTP). Как электронные письма хранятся на сервере после получения с использованием сервера IMAP / POP3, это история для другого времени, сейчас мы рассмотрим SMTP, и к концу статьи мы надеемся, что у вас есть полное представление о протоколе STMP, SMTP-серверах. , Общие параметры и как гарантировать, что ваши электронные письма попадут в СПАМ.
Что такое SMTP?
Простой протокол передачи почты (SMTP) — это протокол, используемый для отправки электронных писем. Он определяет общий стандарт, так что любой SMTP-сервер может взаимодействовать с любым другим SMTP-сервером или сервером POP3/IMAP в Интернете, и они понимают друг друга. Вы можете сказать, что это гарантирует, что разные лица, участвующие в передаче электронных писем, говорят на одном языке.
Что такое SMTP-сервер?
Протокол SMTP должен быть доступен для приложения, это приложение, которое отвечает на запросы SMTP для тех, кто хочет отправить или ретранслировать электронную почту, называется SMTP Serve/SMTP Relay. Вы можете разбить его на два типа, как указано ниже, оба в основном одинаковы, за исключением незначительной разницы —
- SMTP-сервер: это то же самое, что и SMTP-ретранслятор, но в основном используется, когда домен получателя совпадает с доменом сервера. Обычно они используются с бесплатными почтовыми службами, такими как gmail.com, yahoo.com.
- Сервер ретрансляции SMTP: это также сервер, но этот термин используется, когда исходный и конечный домены электронной почты отличаются от доменов SMTP-сервера. Примером могут быть SendGrid или SendInBlue, которые предлагают их. Эти серверы в основном являются маршрутизаторами для почты.
Фальшивые SMTP-серверы. Эти серверы в основном используются разработчиками для тестирования. По сути, это универсальные серверы, которые позволяют пользователям видеть, как электронная почта будет выглядеть на стороне получателя, фактически не отправляя никакой электронной почты. Вы можете либо установить локальное приложение, такое как MailHog или MailCatcher, либо использовать предоставленное облако, например Mailtrap или наш локальный инструмент.
Как работает SMTP?
Ниже приведено общее руководство о том, как процесс отправки электронных писем работает с SMTP.
- Пользователь, желающий отправить электронное письмо, скажем, с [email protected] на [email protected], использует свой почтовый клиент для составления электронного письма с темой и телом и нажимает «Отправить».
- Как только пользователь нажмет «Отправить», клиент электронной почты подключится к настроенному SMTP-серверу, давайте предположим, что это smtp.source.com. Клиент и SMTP-сервер выполняют рукопожатие, и если требуется авторизация, клиент предоставит для этого учетные данные.
- После рукопожатия почтовый клиент отправляет адрес получателя, который в нашем случае [email protected] , тему и тело.
- Если бы наш пользователь отправлял кому-то в том же домене, то наш сервер просто перенаправлял бы его внутренне на локальный сервер-получатель.
- Затем SMTP-сервер, используя DNS-запрос для записей MX, узнает IP-адрес получателя или адрес домена, на котором работает его SMTP-сервер.
- Затем он подключается к SMTP-адресу получателя и пытается доставить электронное письмо.
- Сервер электронной почты получателя проверяет, может ли он обработать пересылаемую ему электронную почту. И если все в порядке, он перенаправляет это на входящий сервер IMAP или POP3.
Общий SMTP-порт и адрес
В большинстве случаев SMTP-адрес будет префиксом mail или smtp перед доменом, к которому вы пытаетесь подключиться. Также они указаны в записях Mail Exchange (MX) в DNS, которые направляют клиента на почтовый сервер, который, как предполагается, управляет маршрутизацией сообщений электронной почты.
Чтобы найти адрес SMTP-сервера, вы можете использовать команду dig
1 2 3 |
root @ mailtest : ~ # dig +short freesmtpservers.com MX 20 smtp . freesmtpservers . com . 10 smtp . freesmtpservers . com . |
Затем вы можете использовать команду dig, чтобы найти IP-адрес, если это необходимо.
1 2 |
root @ mailtest : ~ # dig +short smtp.freesmtpservers.com 104.237.130.88 |
С портом, к которому можно подключиться, все не так просто. Серверы и ретрансляторы обычно имеют набор различных портов, к которым вы можете подключиться, каждый из которых был создан сверхурочно для выполнения определенных требований.
SMTP-порт
Номер порта | Описание | Информация |
---|---|---|
25 | Стандартный SMTP-порт | В основном его следует использовать для ретрансляции электронной почты. |
465 | Устаревший порт SMTP | Был для безопасного SMTP, использовал SSL для шифрования. Избегайте использования. |
587 | Современный безопасный SMTP-порт | Большинство современных почтовых клиентов будут использовать это, оно использует шифрование TLS. |
2525 | Альтернативный нестандартный порт SMTP | Это используется в качестве альтернативы 587, если он заблокирован. |
В большинстве случаев вы будете использовать порт 587 для своих нужд.
Общие имена SMTP-серверов
Общие адреса SMTP-серверов начинаются с smtp. или почта. с доменным именем, у некоторых также может быть IP-адрес. Мы перечислили несколько распространенных из них с подробностями ниже —
наименование услуги | SMTP-сервер | Порт |
---|---|---|
Гугл почта | smtp.gmail.com | 587 |
Outlook.com | smtp.live.com | 587 |
Office365.com | smtp.office365.com | 587 |
Yahoo Mail | smtp.mail.yahoo.com | 465 |
Яху почта плюс | плюс.smtp.mail.yahoo.com | 465 |
Yahoo Великобритания | smtp.mail.yahoo.co.uk | 465 |
Yahoo Германия | smtp.mail.yahoo.com | 465 |
Yahoo Австралия/Новая Зеландия | smtp.mail.yahoo.com.au | 465 |
О2 | smtp.o2.ie | 25 |
O2.uk | smtp.o2.co.uk | 25 |
AOL.com | smtp.aol.com | 587 |
АТ&Т | smtp.att.yahoo.com | 465 |
НТЛ @ntlworld.com | smtp.ntlworld.com | 465 |
БТ-соединение | pop3.btconnect.com | 25 |
БТ открытый мир | mail.btopenworld.com | 25 |
БТ Интернет | mail.btinternet.com | 25 |
Апельсин | smtp.orange.net | 25 |
Orange.uk | smtp.orange.co.uk | 25 |
Ванаду Великобритания | smtp.wanadoo.co.uk | 25 |
Горячая почта | smtp.live.com | 465 |
O2 Online Германия | mail.o2online.de | 25 |
T-Online Германия | securesmtp.t-online.de | 587 |
1 и 1 (1 и 1) | smtp.1and1.com | 587 |
1&1 Германия | smtp.1und1.de | 587 |
Комкаст | smtp.comcast.net | 587 |
Веризон | исходящий.verizon.net | 465 |
Verizon (хостинг Yahoo) | исходящий.yahoo.verizon.net | 587 |
Зохо почта | smtp.zoho.com | 465 |
Mail.com | smtp.mail.com | 587 |
GMX.com | smtp.gmx.com | 465 |
[электронная почта защищена] USA.NET | smtp.postoffice.net | 465 |
Массовые настройки провайдера SMTP-сервера
Что произойдет, если вы хотите отправить несколько электронных писем, скажем, 10000 тыс. электронных писем, тогда вам понадобится что-то вроде массового SMTP-ретранслятора, они также предоставят вам API и другие функции, такие как отслеживание доставки, открытые ставки и т. д. Также помогут вам отправить Электронная почта довольно быстрая, так как SMTP как протокол немного медленный.
Если число не очень велико, вы можете использовать наш список поставщиков бесплатных SMTP-серверов, чтобы сделать выбор.
Если вы хотите отправить электронное письмо своей большой пользовательской базе или, возможно, для электронного маркетинга, мы указали цены ниже с указанием различных поставщиков.
Продавец | Бесплатно / Месяц | Дневной лимит | Платные планы | Комментарии |
---|---|---|---|---|
SendInBlue | 9000 | 300 | От 25 долларов за 10 тысяч до 499 долларов за 1 миллион. | Лучшее бесплатное |
ТурбоSMTP | 6000 | 200 | от 14,95 за 50 тысяч до 979,95 за 2 миллиона. | 6000 / месяц в течение 12 месяцев |
Алибаба прямая почтовая рассылка | 6000 | 200 | 0,00029 за 1000 писем | |
ПепиПост | 3000 | 100 | От 25 долларов за 150 тысяч до 445 долларов за 2 миллиона. | |
SendGrid | 3000 | 100 | От $14,95 за 50 тыс. писем до $749 за 150 тыс. | |
SparPost | 3000 | 100 | От 20 долларов за 50 тысяч до 525 долларов за 1 миллион | |
Эластичная электронная почта | 3000 | 100 | Стоимость как у Amazon SES | Недорогой платный вариант |
Амазонка СЭС | 62000 | .0001 для 1000 писем | Один из самых дешевых, бесплатный при отправке с сервера AWS EC2 | |
Gmail | 15000 | 500 | Gsuite — премиум-вариант | Домен будет gmail.com, что может привести к блокировке аккаунта. |
Использование SMTP-сервера с WordPress
WordPress поддерживает почти 40% сайтов в Интернете, по умолчанию он использует PHP Mail для отправки транзакционных электронных писем, которые, если они не настроены, используют sendmail. Плагин WordPress, который может использовать настройки SMTP или использовать SMTP API для того же.
По умолчанию WordPress использует почту PHP для отправки электронной почты, если она настроена правильно, этого достаточно, но в большинстве случаев проще использовать стороннюю службу, поскольку большинство общих хостов не разрешают прямой доступ к консоли для проверки того, что происходит, и ваши IP-адрес хоста мог быть занесен в черный список из-за спама, поскольку на сервере также могут быть другие пользователи (в случае общего хостинга), которые могут вести себя неадекватно и привести к тому, что ваш IP-адрес будет занесен в черный список. Под черным списком мы подразумеваем, что IP-адрес вашего сервера занесен в глобальный список известных спамеров, что еще больше затрудняет доступ к вашей почте. Вы можете проверить свой статус здесь.
Для WordPress мы рекомендуем плагин Wp Mail SMTP, его легко настроить, он поддерживает множество различных поставщиков, включая Gmail, также есть возможность регистрировать все отправленные электронные письма. Бесплатный план должен быть достаточным для большинства пользователей.
Вы можете легко установить его изнутри WordPress или даже загрузить с веб-сайта WordPress. У него есть премиум-план, но большинству пользователей должно хватить бесплатного.
Настройка собственного SMTP-сервера в Linux
Быстрое сравнение MTA, мы выберем Postfix, так как будем работать с linux —
если ты... | qmail | Эксим | Отправить почту | Постфикс | Примечания |
---|---|---|---|---|---|
неопытный | 0 | 3 | 1 | 3 | Exim и Postfix имеют хорошую документацию и наглядные примеры. |
Беспокоитесь о безопасности | 3 | 2 | 0 | 3 | Postfix безопасен и современен; qmail безопасен, но очень старый и капризный; Exim безопасен по разным критериям (читайте выше). |
Использование милеров Sendmail | 0 | 1 | 3 | 2 | Postfix может запускать milters; можно использовать эквивалентные маршрутизаторы/фильтр Exim script |
Желание минимума хлопот | 0 | 3 | 0 | 3 | У Sendmail есть несколько простых интерфейсов, но чем глубже вы погружаетесь, тем хуже становится. Postfix и Exim более предсказуемы. |
Ограниченный ресурс | 3 | 2 | 1 | 2 | Другие комментарии см. Встроенное приложение ниже. |
В Windows | 0 | 2 | 3 | 0 | Sendmail имеет родной порт для Windows; Exim находится в дистрибутиве Cygwin |
Нужна коммерческая поддержка | 1 | 3 | 3 | 3 | Для всех МТА есть компетентные компании; qmail по своей сути менее обслуживаем, будучи таким старым |
Postfix — это агент передачи почты (MTA), который может действовать как SMTP-сервер или клиент для отправки или получения электронной почты. Его легко установить и настроить, и мы сами используем его для большинства наших нужд. Его также можно настроить для работы в качестве посредника для пересылки электронной почты через сторонние службы электронной почты. Мы рассмотрим только базовую настройку и отправим вам первое электронное письмо.
Самая простая установка состоит из установки постфикса, и все готово.
Такая базовая настройка будет работать технически, но ваши электронные письма могут попасть в СПАМ, чтобы удовлетворить это и обеспечить лучшую доставку электронной почты, у нас есть еще одно руководство, в котором мы добавляем другие требования, такие как DKIM или SPF, которые необходимы для того, чтобы ваши электронные письма через. Но все же, если нет очень веской причины, мы не рекомендуем запускать собственный почтовый сервер.
Этот процесс предполагает, что у вас есть новая установленная Ubuntu 20.04 и вы можете работать с командной строкой Linux, в противном случае мы рекомендуем использовать один из существующих провайдеров SMTP. Мы настроим постфикс на сервере Ubuntu 20.04 и отправим электронное письмо, используя его, в нашу собственную фиктивную службу для тестирования, чтобы увидеть, работает ли она.
Для начала мы выполним команду обновления кэша для диспетчера пакетов apt.

sudo apt update
Далее мы установим постфикс, используя следующую команду:
sudo apt install postfix
Установка откроет кучу подсказок, пожалуйста, выберите следующие варианты:
- Общий тип конфигурации почты? : Для этого мы выберем Интернет-сайт, поскольку он соответствует потребностям нашей инфраструктуры.
- Системное почтовое имя: это базовый домен, который будет использоваться для отправки электронной почты, если пользователь не указал домен отправителя. Поэтому, если вы отправляете электронное письмо, скажем, от user1, и домен не указан, оно будет добавлено к электронному письму. Поэтому, если указан example.com, электронная почта будет отправлена с адреса [email protected] .
Это должно позаботиться о базовой конфигурации. Для полной настройки следуйте нашему руководству по настройке почтового сервера. Теперь порт 25 должен быть доступен, вы можете проверить, открыт ли он с помощью любой из команд –
1 2 3 4 5 |
sudo lsof - i - P - n | grep LISTEN sudo netstat - tulpn | grep LISTEN sudo ss - tulpn | grep LISTEN sudo lsof - i : 22 ## see a specific port such as 22 ## sudo nmap - sTU - O IP - address - Here |
Что мы ищем что-то вроде этого
master 2575 root 13u IPv4 30244 0t0 TCP *:25 (LISTEN)
master 2575 root 14u IPv6 30245 0t0 TCP *:25 (LISTEN)
Если вам даже нужно перенастроить установку, просто запустите команду —
1 |
sudo dpkg - reconfigure postfix |
Мы все настроили, наш SMTP-сервер должен быть запущен и работать. Затем мы можем отправить электронное письмо некоторым пользователям в Интернете или, может быть, перехватить все электронные письма для проверки.
Использование SMTP-сервера
Обычно клиент электронной почты является наиболее распространенным способом взаимодействия большинства из нас с SMTP-сервером, но вы также можете напрямую взаимодействовать с ним с помощью telnet. Мы начнем с этого метода, так как он просто классный.
Отправить почту с помощью telnet в Linux
Подключитесь к локальному SMTP-серверу, введя следующую команду:
1 |
telnet localhost 25 |
Вы увидите что-то вроде этого -
1 2 3 4 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . |
Если вы не можете подключиться, убедитесь, что postfix запущен и порт 25 открыт.
Теперь давайте отправим электронное письмо, чтобы сказать [электронная почта защищена] (поймать все электронные письма).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . 220 mailtest ESMTP Postfix ( Ubuntu ) ehlo localhost 250 - li292 - 146.members.linode.com 250 - PIPELINING 250 - SIZE 10240000 250 - VRFY 250 - ETRN 250 - STARTTLS 250 - ENHANCEDSTATUSCODES 250 - 8BITMIME 250 - DSN 250 - SMTPUTF8 250 CHUNKING mail from : bob @ example . com 250 2.1.0 Ok rcpt to : smtptest @ freesmtpservers . com 250 2.1.5 Ok data 354 End data with . Subject : Testing Email service This is a test email . . 250 2.0.0 Ok : queued as A6ADC402D4 quit 221 2.0.0 Bye Connection closed by foreign host . |
Проверьте, получено ли электронное письмо в папке «Входящие» для [email protected] или, если вы использовали другого получателя, можете проверить его в своем почтовом ящике.
Отправить письмо из командной строки Linux
В Linux мы можем использовать команду sendmail для быстрой отправки электронной почты.
1 |
echo "Subject: hello" | sendmail - v smtptest @ freesmtpservers . com |
Надеюсь, вам понравилась моя статья. Если вы считаете, что я упустил некоторые моменты или где-то ошибся, дайте мне знать, и я обновлю ее здесь.