Найти - Пользователи
Полная версия: не получается настроить отправку почты
Начало » Django » не получается настроить отправку почты
1 2
Чел_вТапКах
начнем с того что я скорее новичок……просто на там форуме мне не ответили……
Все началось с того что я захотел сделать регистрацию пользователей на своем сайте в Django……
ну значит установил я django-registration-0.7……сделал все как прописано в overview.txt . Зашел по нужной урл…….заполнил форму……..и тут бац
Exception Value:  	(10061, 'Connection refused')

Exception Location: C:\Python24\lib\smtplib.py in connect, line 310
как я понял нужно настроить то, откуда будет отправляться письмо на почту…..
если кто нибудь сталкивался с подобным……или просто понятливее меня……объясните мне как это исправить…….
evgenyl
а побольше инфы можно, там connect кудато коннектится, куда ? посмотри переменные
Чел_вТапКах
#  C:\Python24\lib\site-packages\django\core\handlers\base.py in get_response

79. # Apply view middleware
80. for middleware_method in self._view_middleware:
81. response = middleware_method(request, callback, callback_args, callback_kwargs)
82. if response:
83. return response
84.
85. try:

86. response = callback(request, *callback_args, **callback_kwargs) ...

87. except Exception, e:
88. # If the view raised an exception, run it through exception
89. # middleware, and if the exception middleware returns a
90. # response, use that. Otherwise, reraise the exception.
91. for middleware_method in self._exception_middleware:
92. response = middleware_method(request, e)

▶ Local vars
Variable Value
callback
<function register at 0x01986B70>
callback_args
()
callback_kwargs
{}
e
<socket.error instance at 0x01A3DA80>
exc_info
(<class socket.error at 0x00AFB210>, <socket.error instance at 0x01A3DA80>, <traceback object at 0x01A3D418>)
exceptions
<module 'django.core.exceptions' from 'C:\Python24\lib\site-packages\django\core\exceptions.pyc'>
middleware_method
<bound method AuthenticationMiddleware.process_request of <django.contrib.auth.middleware.AuthenticationMiddleware object at 0x01466A10>>
receivers
[(<function _rollback_on_exception at 0x012B9D70>, None)]
request
<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'username': [u'user3214'], u'password1': [u'123'], u'password2': [u'123'], u'email': [u'carlson_06@mail.ru']}>, COOKIES:{'sessionid': '9828e885bd0338809b99e5be5bd7eb12'}, META:{'ALLUSERSPROFILE': 'C:\\Documents and Settings\\All Users', 'APPDATA': 'C:\\Documents and Settings\\\xc0\xe4\xec\xe8\xed\xe8\xf1\xf2\xf0\xe0\xf2\xee\xf0\\Application Data', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'RUSLAN', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe', 'CONTENT_LENGTH': '72', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DJANGO_SETTINGS_MODULE': 'complaint.settings', 'FARHOME': 'C:\\Program Files\\Far', 'FARLANG': 'Russian', 'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Documents and Settings\\\xc0\xe4\xec\xe8\xed\xe8\xf1\xf2\xf0\xe0\xf2\xee\xf0', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'windows-1251,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'ru,en-us;q=0.7,en;q=0.3', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'sessionid=9828e885bd0338809b99e5be5bd7eb12', 'HTTP_HOST': '127.0.0.1:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://127.0.0.1:8000/accounts/register/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 MRA 5.3 (build 02552) AdCentriaIM/1.7 Firefox/3.0.4', 'LOGONSERVER': '\\\\RUSLAN', 'NUMBER_OF_PROCESSORS': '2', 'OS': 'Windows_NT', 'PATH': 'C:\\Program Files\\PC Connectivity Solution\\;C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\;C:\\Program Files\\Borland\\BDS\\4.0\\Bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\Program Files\\TortoiseSVN\\bin;C:\\Program Files\\TortoiseHg;C:\\DOCUME~1\\9335~1\\C316~1\\BORLAN~1\\BPL', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH', 'PATH_INFO': u'/accounts/register/', 'PROCESSOR_ARCHITECTURE': 'x86', 'PROCESSOR_IDENTIFIER': 'x86 Family 6 Model 15 Stepping 13, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '0f0d', 'PROGRAMFILES': 'C:\\Program Files', 'PROMPT': '$P$G', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'localhost', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.4.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\WINDOWS', 'TEMP': 'C:\\DOCUME~1\\9335~1\\LOCALS~1\\Temp', 'THG_ICON_PATH': 'C:\\Program Files\\TortoiseHg\\icons', 'TMP': 'C:\\DOCUME~1\\9335~1\\LOCALS~1\\Temp', 'USERDOMAIN': 'RUSLAN', 'USERNAME': '\xc0\xe4\xec\xe8\xed\xe8\xf1\xf2\xf0\xe0\xf2\xee\xf0', 'USERPROFILE': 'C:\\Documents and Settings\\\xc0\xe4\xec\xe8\xed\xe8\xf1\xf2\xf0\xe0\xf2\xee\xf0', 'VISUALSVN_SERVER': 'C:\\Program Files\\VisualSVN Server\\', 'WINDIR': 'C:\\WINDOWS', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x009AE0B0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x0198AB90>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
resolver
<RegexURLResolver complaint.urls ^/>
response
None
self
<django.core.handlers.wsgi.WSGIHandler object at 0x014509B0>
settings
<django.conf.LazySettings object at 0x00AC86F0>
urlconf
'complaint.urls'
urlresolvers
<module 'django.core.urlresolvers' from 'C:\Python24\lib\site-packages\django\core\urlresolvers.pyc'>
# C:\Python24\Lib\site-packages\registration\views.py in register

141. registration/registration_form.html or ``template_name`` keyword
142. argument.
143.
144. """
145. if request.method == 'POST':
146. form = form_class(data=request.POST, files=request.FILES)
147. if form.is_valid():

148. new_user = form.save(profile_callback=profile_callback) ...

149. # success_url needs to be dynamically generated here; setting a
150. # a default value using reverse() will cause circular-import
151. # problems with the default URLConf for this application, which
152. # imports this file.
153. return HttpResponseRedirect(success_url or reverse('registration_complete'))
154. else:

&#9654; Local vars
Variable Value
extra_context
None
form
<registration.forms.RegistrationForm object at 0x01AE50B0>
form_class
<class 'registration.forms.RegistrationForm'>
profile_callback
None
request
<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'username': [u'user3214'], u'password1': [u'123'], u'password2': [u'123'], u'email': [u'carlson_06@mail.ru']}>, COOKIES:{'sessionid': '9828e885bd0338809b99e5be5bd7eb12'}, META:{'ALLUSERSPROFILE': 'C:\\Documents and Settings\\All Users', 'APPDATA': 'C:\\Documents and Settings\\\xc0\xe4\xec\xe8\xed\xe8\xf1\xf2\xf0\xe0\xf2\xee\xf0\\Application Data', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'RUSLAN', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe', 'CONTENT_LENGTH': '72', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DJANGO_SETTINGS_MODULE': 'complaint.settings', 'FARHOME': 'C:\\Program Files\\Far', 'FARLANG': 'Russian', 'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Documents and Settings\\\xc0\xe4\xec\xe8\xed\xe8\xf1\xf2\xf0\xe0\xf2\xee\xf0', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'windows-1251,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'ru,en-us;q=0.7,en;q=0.3', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'sessionid=9828e885bd0338809b99e5be5bd7eb12', 'HTTP_HOST': '127.0.0.1:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://127.0.0.1:8000/accounts/register/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 MRA 5.3 (build 02552) AdCentriaIM/1.7 Firefox/3.0.4', 'LOGONSERVER': '\\\\RUSLAN', 'NUMBER_OF_PROCESSORS': '2', 'OS': 'Windows_NT', 'PATH': 'C:\\Program Files\\PC Connectivity Solution\\;C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\;C:\\Program Files\\Borland\\BDS\\4.0\\Bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\Program Files\\TortoiseSVN\\bin;C:\\Program Files\\TortoiseHg;C:\\DOCUME~1\\9335~1\\C316~1\\BORLAN~1\\BPL', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH', 'PATH_INFO': u'/accounts/register/', 'PROCESSOR_ARCHITECTURE': 'x86', 'PROCESSOR_IDENTIFIER': 'x86 Family 6 Model 15 Stepping 13, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '0f0d', 'PROGRAMFILES': 'C:\\Program Files', 'PROMPT': '$P$G', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'localhost', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.4.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\WINDOWS', 'TEMP': 'C:\\DOCUME~1\\9335~1\\LOCALS~1\\Temp', 'THG_ICON_PATH': 'C:\\Program Files\\TortoiseHg\\icons', 'TMP': 'C:\\DOCUME~1\\9335~1\\LOCALS~1\\Temp', 'USERDOMAIN': 'RUSLAN', 'USERNAME': '\xc0\xe4\xec\xe8\xed\xe8\xf1\xf2\xf0\xe0\xf2\xee\xf0', 'USERPROFILE': 'C:\\Documents and Settings\\\xc0\xe4\xec\xe8\xed\xe8\xf1\xf2\xf0\xe0\xf2\xee\xf0', 'VISUALSVN_SERVER': 'C:\\Program Files\\VisualSVN Server\\', 'WINDIR': 'C:\\WINDOWS', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x009AE0B0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x0198AB90>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
success_url
None
template_name
'registration/registration_form.html'
# C:\Python24\Lib\site-packages\registration\forms.py in save

80. documentation on ``create_inactive_user()`` for details) if
81. supplied.
82.
83. """
84. new_user = RegistrationProfile.objects.create_inactive_user(username=self.cleaned_data['username'],
85. password=self.cleaned_data['password1'],
86. email=self.cleaned_data['email'],

87. profile_callback=profile_callback) ...

88. return new_user
89.
90.
91. class RegistrationFormTermsOfService(RegistrationForm):
92. """
93. Subclass of ``RegistrationForm`` which adds a required checkbox

&#9654; Local vars
Variable Value
profile_callback
None
self
<registration.forms.RegistrationForm object at 0x01AE50B0>
# C:\Python24\Lib\site-packages\registration\models.py in create_inactive_user

120. subject = ''.join(subject.splitlines())
121.
122. message = render_to_string('registration/activation_email.txt',
123. { 'activation_key': registration_profile.activation_key,
124. 'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
125. 'site': current_site })
126.

127. send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [new_user.email]) ...

128. return new_user
129.
130. def create_profile(self, user):
131. """
132. Create a ``RegistrationProfile`` for a given
133. ``User``, and return the ``RegistrationProfile``.

&#9654; Local vars
Variable Value
current_site
<Site: example.com>
email
u'carlson_06@mail.ru'
message
u' Hello,\n\nPlease follow this link to complete your registration on example.com:\nhttp://www.yoursite.com/activate/7b3500b62cb454a43990a8f923432a80def3c127/\n\nYou have 3 days to complete it.\n\nSincerely,\nbla-bla-bla'
new_user
<User: user3214>
password
u'123'
profile_callback
None
registration_profile
<RegistrationProfile: Registration information for user3214>
self
<registration.models.RegistrationManager object at 0x0140FF10>
send_email
True
send_mail
<function send_mail at 0x014C55F0>
subject
u'Your registration for example.com'
username
u'user3214'
# C:\Python24\lib\site-packages\django\core\mail.py in send_mail

332.
333. Note: The API for this method is frozen. New code wanting to extend the
334. functionality should use the EmailMessage class directly.
335. """
336. connection = SMTPConnection(username=auth_user, password=auth_password,
337. fail_silently=fail_silently)
338. return EmailMessage(subject, message, from_email, recipient_list,

339. connection=connection).send() ...

340.
341. def send_mass_mail(datatuple, fail_silently=False, auth_user=None,
342. auth_password=None):
343. """
344. Given a datatuple of (subject, message, from_email, recipient_list), sends
345. each message to each recipient list. Returns the number of e-mails sent.

&#9660; Local vars
Variable Value
auth_password
None
auth_user
None
connection
<django.core.mail.SMTPConnection object at 0x01AE51D0>
fail_silently
False
from_email
'webmaster@localhost'
message
u' Hello,\n\nPlease follow this link to complete your registration on example.com:\nhttp://www.yoursite.com/activate/7b3500b62cb454a43990a8f923432a80def3c127/\n\nYou have 3 days to complete it.\n\nSincerely,\nbla-bla-bla'
recipient_list
[u'carlson_06@mail.ru']
subject
u'Your registration for example.com'
evgenyl
А прямой интернет есть на машине где это все стоит ?
т.е. есть ли возможность приконектится к 25 ому порту на mxs.mail.ru ???

плюс mail.ru врятли примет письмо от webmaster@localhost :)
evgenyl
ещё у send_mail есть тихий режим, т.е. если не смогло приконнектится к серверу то не ругаться особо.
evgenyl
А ещё скорее всего дьянго пытается отправлять письма не напрямую а через MTA
который localhost по умолчанию
http://docs.djangoproject.com/en/dev/ref/settings/#setting-EMAIL_HOST
Чел_вТапКах
evgenyl
А ещё скорее всего дьянго пытается отправлять письма не напрямую а через MTA
который localhost по умолчанию
http://docs.djangoproject.com/en/dev/ref/settings/#setting-EMAIL_HOST
это статья наставила меня на путь понимания)……как я понял нужно прописать в сетингзах хост и порт почтового сервера……теперь еще 1 вопрос :-[ сервер ставить самому……или можно приконектиться к готовому(если можете напишите хоть 1)
………я знаю что вы думаете….ДА я чайник :-)
evgenyl
Да как хочеш, хочеш создай акаунт на mail.ru и шли через него, хочеш свой MTA поставь под виндовсом например Exchange :))), хочеш используй тот который есть в питоне для отладки http://docs.djangoproject.com/en/dev/topics/email/#testing-e-mail-sending

Выбор бешенный!
Чел_вТапКах
evgenyl
Да как хочеш, хочеш создай акаунт на mail.ru и шли через него, хочеш свой MTA поставь под виндовсом например Exchange :))), хочеш используй тот который есть в питоне для отладки http://docs.djangoproject.com/en/dev/topics/email/#testing-e-mail-sending

Выбор бешенный!
создал акаунт на майле…..прописал в сетингзах 4 строки……
EMAIL_HOST = 'smtp.mail.ru'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_HOST_USER = 'some_mail@mail.ru'
EMAIL_PORT = '2525'
выдает другую ошибку(хотя я уже и этому рад:-) )
я просто не пойму….раз я прописал в сетигзах настройки то откуда эта ошибка………
Request URL:  	http://127.0.0.1:8000/accounts/register/
Exception Type: SMTPSenderRefused
Exception Value:

(501, 'sender address must match authenticated user', 'webmaster@localhost')
evgenyl
Исправь в сеттингсах
webmaster@localhost -> some_mail@mail.ru
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