Порты SMTP: что это такое и как использовать в электронной почте
SMTP (Simple Mail Transfer Protocol) — это стандартный протокол, используемый для отправки электронной почты. Для обмена данными через SMTP используются порты.
Основной порт SMTP - 25. Возможно использование защищенного соединения через SSL/TLS (Secure Sockets Layer/Transport Layer Security). В этом случае используются следующие порты:
- SMTPS (SMTP Secure) — защищенный порт SMTP TCP 465
- SMTP+STARTTLS — SMTP с прозрачным стартом шифрования SSL/TLS TCP 587
Код для отправки электронной почты с помощью SMTP может выглядеть следующим образом:
import smtplib
# параметры SMTP-сервера: адрес и порт
smtp_server = 'smtp.gmail.com'
smtp_port = 587
# параметры аккаунта
smtp_login = 'example@gmail.com'
smtp_password = 'password'
# параметры письма
from_addr = smtp_login
to_addr = 'example@mail.ru'
subj = 'Test email'
body = 'This is a test email.'
# формируем сообщение
msg = 'From: {}\r\nTo: {}\r\nSubject: {}\r\n\r\n{}'.format(
from_addr, to_addr, subj, body)
# создаем соединение с SMTP-сервером
server = smtplib.SMTP(smtp_server, smtp_port)
# идентификация и авторизация на сервере
server.starttls()
server.login(smtp_login, smtp_password)
# отправляем сообщение
server.sendmail(from_addr, to_addr, msg)
# закрываем соединение
server.quit()
В этом примере мы используем порт 587 для установления соединения с SMTP-сервером и отправляем тестовое письмо. Перед отправкой соединение защищается с помощью функции `starttls()`. Для отправки вам нужно указать свои параметры SMTP-сервера, а также параметры вашего аккаунта.