Избегайте признания в качестве спама

1

Я пытаюсь отправить успешные письма с python, используя smtp google и smtplib. Письмо отправляется правильно, но получатель получает письмо как спам.

Есть что-то в заголовках или как я могу избежать признания спама?

from flask import render_template, current_app
from flask_babel import _
import smtplib
from email.message import EmailMessage
from email.headerregistry import Address
from email.utils import make_msgid

def send_email(subject, receiver, plain_text, html_text):
    msg = EmailMessage()
    msg['Message-ID'] = make_msgid()
    msg['Subject'] = subject
    msg['From'] = Address(name, username, 'gmail.com')
    msg['To'] = Address(receiver.fullname(), receiver.email.split('@')[0], receiver.email.split('@')[1])
    msg.set_content(plain_text)
    msg.add_alternative(html_text, subtype='html')
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
    server.ehlo()
    server.login(email, password)
    server.send_message(msg)
    server.quit()    
  • 2
    Могут ли сообщения вызывать байесовский фильтр спама? Если бы было какое-то простое msg['PinkySwearImNotSpam'] = True тогда каждый спамер установил бы это, и это все равно было бы проигнорировано.
  • 0
    Здравствуйте, {{name}}, чтобы подтвердить свой аккаунт {{нажмите здесь}}. Кроме того, вы можете вставить следующую ссылку в адресную строку браузера: {{Link}}
Показать ещё 1 комментарий
Теги:
gmail
smtplib
smtp

1 ответ

0

Я бы предложил вам настроить как SPF, так и DKIM в вашем домене, чтобы добавить вес к исходящим письмам. Подробнее о настройке SPF и DKIM читайте здесь. Это потребует некоторых изменений DNS, которые достаточно легки.

Кроме того, небольшое сообщение в немного HTML может быть расценено как спам для многих спам-фильтров. Подумайте о том, чтобы отправить текстовое электронное письмо или электронную почту HTML с помощью простого текстового варианта.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню