Найти - Пользователи
Полная версия: smtplib - проблема спама
Начало » Python для новичков » smtplib - проблема спама
1
antivir
Добрый день.
Пытаюсь наладить отправку писем. Smtp-провайдер - Masterhost. Посылаю сам себе:
#!/usr/bin/env python 
import smtplib
mail_server = 'smtp.masterhost.ru'
mail_server_port = 25
from_addr = 'my@address.ru'
to_addr = 'my@address.ru'
from_header = 'From: %s\r\n' % from_addr
to_header = 'To: %s\r\n\r\n' % to_addr
subject_header = 'Subject: Proverka moei pochty'
body = 'Zhdu otvet'
email_message = '%s\n%s\n%s\n\n%s' % (from_header, to_header,
subject_header, body)
s = smtplib.SMTP(mail_server, mail_server_port)
s.set_debuglevel(1)
s.login(username, password)
s.sendmail(from_addr, to_addr, email_message)
s.quit()
Отправляется без ошибок.
Учетная запись, от которой пытаюсь отправить письмо, есть в Outlook на этом же компьютере. Отправка самому себе в нем работает без проблем.
В ответ на работу скрипта получаю от мастерхоста письмо “Mail delivery failed: returning message to sender”:
------ This is a copy of the message, including all the headers. ------

Return-path: <my@address.ru>
Received: from [UNAVAILABLE] ([94.103.xxx.40] helo=[192.168.1.80])
by relay1.mail.masterhost.ru with esmtp
envelope from <my@address.ru>
authenticated with my@address.ru
message id 1ModfE-000Da6-U9
for my@address.ru; Fri, 18 Sep 2009 17:38:16 +0400
From: my@address.ru
X-SpamTest-Envelope-From: my@address.ru
X-SpamTest-Group-ID: 00000000
X-SpamTest-Info: Profiles 9707 [Sep 18 2009]
X-SpamTest-Info: {Headers: Spam A1037}
X-SpamTest-Method: headers
X-SpamTest-Rate: 100
X-SpamTest-Status: SPAM
X-SpamTest-Status-Extended: spam
X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0284], KAS30/Release
Почему письмо из скрипта может определяться как спам, при этом из Outlook проблем нет? Не хватает каких-то полей?
regall
Попробуй формировать почту через MIMEText.
import email
text = email.MIMEText(...)
igor.kaist
Поле from совпадает с адресом твоего хоста?
antivir
Да, from и to - это адрес моего хоста.
Получилось через Mime, благодарю. Код такой:
#!/usr/bin/env python 
import smtplib
from email.mime.text import MIMEText
mailServer = 'smtp.masterhost.ru'
mailServerPort = 25
fromAddr = 'my@address.ru'
toAddr = 'my@address.ru'
mailSubject=r'название письма'
mailContent=r'тело письма'
mailLogin=r'my@address.ru'
mailPassword=r'12345'

def mailResult(mailServer,mailServerPort,fromAddr,toAddr,mailSubject,mailContent,mailLogin,mailPassword):
msg = MIMEText(mailContent)
msg['Subject'] = mailSubject
msg['From'] = fromAddr
msg['To'] = toAddr
msg.set_charset('utf-8')
s = smtplib.SMTP(mailServer, mailServerPort)
s.set_debuglevel(1)
s.login(mailLogin, mailPassword)
s.sendmail(fromAddr, toAddr, msg.as_string())
s.quit()
mailResult(mailServer,mailServerPort,fromAddr,toAddr,mailSubject,mailContent,mailLogin,mailPassword)
P.S. Кстати, очень интересно:
1. Если стоит только мой адрес в toAddr = ‘my@address.ru’ - то письмо самому себе получаю
2. Если стоят несколько адресов в toAddr = ‘my@address.ru, user1@gmail.com, user2@gmail.com’ - то получают все, кроме меня (порядок указания адресов значения не имеет). В поле “Кому” полученных писем - все заданные адреса.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB