Несмотря на то, что клиент показывает 200, в моих тестовых электронных письмах я так и не получил отправленное электронное письмо.
Мой адрес электронной почты отправителя — это адрес электронной почты моей компании, поэтому учетная запись — это адрес электронной почты их собственного бизнес-домена.
После построение сообщения
Код: Выделить всё
msg = MIMEText(body)
msg["Subject"] = subject
msg["From"] = sender_email
msg["To"] = to_email
Затем я отправляю электронное письмо, передавая созданное сообщение. На данный момент я жестко запрограммировал адрес электронной почты компании (адрес электронной почты отправителя) и исходящий порт на 456, и я не думаю, что входящий порт будет использоваться сейчас.
Код: Выделить всё
import smtplib
from email.mime.text import MIMEText
...
.
.
.
try:
# server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server = smtplib.SMTP_SSL(".com", 465)
server.set_debuglevel(1)
server.login(sender_email, sender_password)
server.send_message(msg)
server.quit()
except Exception as e:
raise EmailServiceError(
f"Error sending email: {e}",
recipient=to_email,
purpose=purpose,
details={"error": str(e)}
)
Код: Выделить всё
Logs:
SMTP Connection Established: gatorxxxx.hostgator.com
Authentication:
235 Authentication succeeded
Sender Accepted:
250 OK - mail from: no-reply@.com
Recipient Accepted:
250 Accepted - rcpt to: @gmail.com
Message Data Sent:
250 OK - id=1w22kd-00000001mHT-3KDl
Content:
Subject: Email Verification Code
From: no-reply@.com
To: @gmail.com
Body: Your email verification code is: 004040
Please enter this code to verify your account.
SMTP Session Closed:
221 gatorxxxx.hostgator.com closing connection
Из предыдущей (похожей, хотя и не идентичной) проблемы я вспомнил, что во время отладки я использовал тот же код, показанный выше, для отправки тестового электронного письма коллеге в нашем собственном домене (coworker@.com). Они получили его успешно. Это говорит о том, что поток отправки SMTP работает и что проблема доставки специфична для Gmail (вероятно, политика фильтрации или аутентификации), а не общий сбой отправки.
Вопросы:
- Является ли мое использование SMTP в Python концептуально правильным?
- С учетом этих журналов, вероятна ли проблема с доставкой/аутентификацией (SPF/DKIM/DMARC, репутация отправителя, политика ретрансляции), а не проблема с кодом?
- Какие конкретные проверки мне следует попросить выполнить нашу команду инфра/администраторов (поскольку у меня нет доступа к cPanel)?
Хотя может показаться, что проблема повторяется или что мне следует сначала попытаться выполнить все параметры (я явно не добрался до cPanel), причина, по которой я все еще задаю этот вопрос, заключается в том, что у меня сегодня обзор, и мне нужно объяснить пожилым людям, в чем именно заключается проблема, чтобы мы могли быстро начать настройку cPanel, если это так. В противном случае я исправлю это раньше.