Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 27, 2007 15:33:25

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

Всем привет, а у меня возник вопрос, если необходима авторизация при отправке письма, как это реализовать?



Офлайн

#2 Фев. 27, 2007 15:39:57

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

Точно не помню, но кажется так:

import smtplib
srv=smtplib.SMTP(server, port)
srv.login(user_name, user_passwd)



Офлайн

#3 Фев. 27, 2007 16:48:32

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

Вот и я так сделал, а получаю следующую ошибку, хотя может и не в авторизации тут дело:

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



Офлайн

#4 Фев. 27, 2007 16:57:13

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

А ты точно connect вызвал перед отправкой почты? :) Покажи код.



Офлайн

#5 Фев. 28, 2007 09:30:16

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

Вот код:

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



Офлайн

#6 Фев. 28, 2007 10:44:54

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

Перед телом сообщения должно быть 2 перевода строки.



Офлайн

#7 Фев. 28, 2007 11:13:24

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

Кстати, а не проще использовать MIMEText как в примере j2a выше?



Офлайн

#8 Март 2, 2007 11:33:04

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

MIMEText помог, спасибо. А вот возникла следующая проблема: тема письма видна нормально, а в теле письма крякозябры, как решить такое?



Офлайн

#9 Март 2, 2007 12:21:24

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка почты

Извините за тупость, глянул в хелп и понял:

msg = MIMEText(message, "", "windows-1251")



Офлайн

#10 Май 26, 2007 18:57:46

Все ники заняты
От:
Зарегистрирован: 2007-02-18
Сообщения: 156
Репутация: +  1  -
Профиль   Отправить e-mail  

Отправка почты

Не получается подключиться к 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’)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version