Письма, отправленные через Python, определяются как спам
Работая на почтовом сервере Python, я использовал vestacp
объявить домены и созданные учетные записи электронной почты, используя CLI
, Я также добавил spf
, dkim
, dmarc
а также rdns
записи следующим образом:
TXT "v=DKIM1; k=rsa; p=ABCD...XYZ"
TXT "t=y; o=~;"
TXT "v=DMARC1; p=none"
TXT "v=spf1 a mx ip4:xxx.xxx.xxx.xxx ~all"
и вот функция Python, которая отправляет электронные письма:
def send_new_mail(to, fro, subject, text, files=[],server="localhost"):
assert type(to) == list
assert type(files) == list
msg = MIMEMultipart.MIMEMultipart('alternative')
msg['From'] = fro
msg['To'] = COMMASPACE.join(to)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject
msg.attach(MIMEText.MIMEText(text,'html','utf-8'))
msg.attach(MIMEText.MIMEText(text,'plain','utf-8'))
for file in files:
part = MIMEBase.MIMEBase('application', "octet-stream")
# part.set_payload(open(file, "rb").read() )
part.set_payload(file[1].decode('base64'))
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(file[0]))
msg.attach(part)
smtp = smtplib.SMTP(server)
smtp.sendmail(fro, to, msg.as_string())
smtp.close()
Теперь, хотя мои письма проходят проверку Gmail, как показано в исходном сообщении, и набирают 8,8/10 баллов в тестах на спам, мои исходящие электронные письма считаются спамом в Gmail. Кроме того, IP моего сервера заносится в черный список через некоторое время работы. Я также использую vestacp
DNS сервис.
Я делаю что-то не так или есть что-то, что я не учел?