Форум сайта python.su
Всем привет, а у меня возник вопрос, если необходима авторизация при отправке письма, как это реализовать?
Офлайн
Точно не помню, но кажется так:
import smtplib srv=smtplib.SMTP(server, port) srv.login(user_name, user_passwd)
Офлайн
Вот и я так сделал, а получаю следующую ошибку, хотя может и не в авторизации тут дело:
Traceback (most recent call last):
File "D:\keys\run.py", line 49, in <module>
connect.sendmail (fromAddr, toAddr1, message)
File "D:\Program files\Python25\lib\smtplib.py", line 698, in sendmail
self.rset()
File "D:\Program files\Python25\lib\smtplib.py", line 453, in rset
return self.docmd("rset")
File "D:\Program files\Python25\lib\smtplib.py", line 378, in docmd
return self.getreply()
File "D:\Program files\Python25\lib\smtplib.py", line 355, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
SMTPServerDisconnected: Connection unexpectedly closed
Офлайн
А ты точно connect вызвал перед отправкой почты? :) Покажи код.
Офлайн
Вот код:
fromAddr = mail1@mail.ru
toAddr = mail2@mail.ru
message = """From: Mailer <%(fromAddr)s>
To: <%(toAddr)s>
Subject: My Subject
MIME-Version: 1.0
Content-Type: text/plain; charset=Windows-1251
Content-Transfer-Encoding: 8bit
Тра-ля-ля.
"""
connect = SMTP ('smtp.mail.ru')
connect.login ("user", "password")
connect.sendmail (fromAddr, toAddr, message)
connect.quit
Офлайн
Перед телом сообщения должно быть 2 перевода строки.
Офлайн
Кстати, а не проще использовать MIMEText как в примере j2a выше?
Офлайн
MIMEText помог, спасибо. А вот возникла следующая проблема: тема письма видна нормально, а в теле письма крякозябры, как решить такое?
Офлайн
Извините за тупость, глянул в хелп и понял:
msg = MIMEText(message, "", "windows-1251")
Офлайн
Не получается подключиться к SMTP-серверу:
# -*- coding: cp1251 -*-
import smtplib
# параметры SMTP-сервера
server = "194.67.23.114" # "smtp.bk.ru"
port = 25
user_name = "usrname"
user_passwd = "passwd"
s = smtplib.SMTP(server, port)
s.login(user_name, user_passwd)
s.connect()
s.connect()
File “C:\PROGRA~1\Python25\lib\smtplib.py”, line 310, in connect
raise socket.error, msg
socket.error: (10061, ‘Connection refused’)
Офлайн