Форум сайта python.su
Это уже вопрос работы удаленного SMTP сервера.
Он может отвергать соединение потому что просто сервера там нет, или он настроен отвергать такое соединение (например по твоему IP), или он не настроен на авторизацию.
Нормальная практика - разрешать авторизацию только в режиме TLS.
попробуй так:
#!/usr/bin/env python
import smtplib
server = smtplib.SMTP('mail.bk.ru')
server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.ehlo()
server.login(“login”, “password”)
server.sendmail(“sobaka@bk.ru”,“barabaka@bk.ru”, “Subject: testing message\r\n”)
server.quit()
Отредактировано (Май 26, 2007 19:56:53)
Офлайн
denz, спасибо большое, получилось отправить так:
# -*- coding: cp1251 -*-
import smtplib
from email.MIMEText import MIMEText
# отправитель
me = 'me@bk.ru'
# получатель
you = 'you@gmail.com'
# текст письма
text = 'Это тестовое письмо!\nС наилучшими пожеланиями!'
# заголовок письма
subj = 'Привет от Python'
# параметры SMTP-сервера
server = "194.67.23.114" # "smtp.bk.ru"
port = 25
user_name = "me"
user_passwd = "pass"
msg = MIMEText(text, "", "cp1251")
msg['Subject'] = subj
msg['From'] = me
msg['To'] = you
s = smtplib.SMTP(server, port)
s.starttls()
s.login(user_name, user_passwd)
s.sendmail(me, you, msg.as_string())
s.quit()
Отредактировано (Май 27, 2007 12:22:51)
Офлайн
Все ники занятыhttp://docs.python.org/lib/module-email.html
1. Бред с кодировками. Тема письма приходит по-русски, тело письма - в кракозябрах.
2. Как отправить письмо с аттачем файла?
Офлайн
j2a, не нашёл по ссылке ответа на свои вопросы.
Офлайн
Офлайн
вот ещё пример, правда для входящей почты, но там есть решение проблемы по кодировке:
http://python.com.ua/forum/viewtopic.php?id=671
Офлайн
Спасибо, но не получается. Код:
# -*- coding: cp1251 -*-
import smtplib, os
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEBase import MIMEBase
from email import Encoders
# отправитель
me = 'me@bk.ru'
# получатель
you = 'you@gmail.com'
# текст письма
text = 'Это тестовое письмо!\nС наилучшими пожеланиями!'
text = unicode(text, "cp1251").encode("koi8-r")
# заголовок письма
subj = 'Привет от Python'
# вложение
myfile = 'C:\\Temp\\cshadow.zip'
# параметры SMTP-сервера
server = "194.67.23.114" # "smtp.bk.ru"
port = 25
user_name = "me"
user_passwd = "pass"
# msg = MIMEText(text, "", "cp1251")
msg = MIMEMultipart()
msg['Subject'] = subj
msg['From'] = me
msg['To'] = you
msg.attach(MIMEText(text, "", "cp1251"))
part = MIMEBase('application', "octet-stream")
part.set_payload(open(myfile,"rb").read())
Encoders.encode_base64(part)
part.add_header('Content-Disposition',
'attachment; filename="%s"' % os.path.basename(myfile))
msg.attach(part)
s = smtplib.SMTP(server, port)
s.starttls()
s.login(user_name, user_passwd)
s.sendmail(me, you, msg.as_string())
s.quit()
SMTP error from remote mailer after end of data:Самое смешное, что если посылать какой-нибудь boot.ini - всё доходит, zip - не доходит.
host gmail-smtp-in.l.google.com :
552 5.7.0 Illegal Attachment y37si705888iky
Офлайн
Помогите поправить код, please. Из почтового клиента этот сервер без проблем отправляет и получает zip'ы, так что проблема точно в коде.
Офлайн
j2aв качестве разминки протестируй сначала сам
Странно пишешь…
1) Модуль string устарел. Нужно пользоваться методами.
2) Зачем переменная host, если в smtplib.SMTP все равно указываешь ip?
3) А ты вообще никаких заголовков не указал. Не путай заголовки в письме и адресат, кому отправляешь.
import smtplib
from email.MIMEText import MIMEText
me = ‘xxx@mail.ru’
me_in_header='bugaga@mail.ru'
you = ‘xxx0@mail.ru’
you_in_header = ‘opa@mail.ru’
they = ‘yyy@mail.ru, zzz@list.ru’
they_in_header = ‘malchick@mail.ru, devotchka@list.ru’
text = “”“
This email brings BCC news for you!!
Best Regards!!!
”“”
msg = MIMEText(text)
msg = ‘Hey from Python’
msg = me_in_header
msg = you_in_header
msg = they_in_header
recipients = list(you) +
s = smtplib.SMTP() # means localhost
s.connect()
s.sendmail(me, recipients, msg.as_string())
s.close()
В качестве разминки - подумай, кто же реально получит сообщение и с какими заголовками.
Офлайн