Erro ao permitir contato com o site

24 views
Skip to first unread message

Srta Ludy

unread,
Nov 21, 2009, 8:42:08 AM11/21/09
to Django Brasil
Bem estou na parte do livro em que eu crio uma interação entre o
usuário através de um formulário em que ele informa seu nome, e-mail e
deixa um recado pra mim que fiz o site. Pois bem, no livro quando eu
modifico a views pra ela ficar assim:

from django.shortcuts import render_to_response
from django.template import RequestContext
from django import forms
from django.core.mail import send_mail

class FormContato(forms.Form):
nome = forms.CharField(max_length=50)
email = forms.EmailField(required=False)
mensagem = forms.Field(widget=forms.Textarea)

def enviar(self):
titulo = 'Mensagem enviada pelo site'
destino = 'ludy.frei...@gmail.com'
texto = """
Nome: %(nome)s
E-mail: %(email)s
Mensagem:
%(mensagem)s
""" % self.cleaned_data

send_mail(
subject=titulo,
message=texto,
from_email=destino,
recipient_list=[destino],
)

def contato(request):
if request.method == 'POST':
form = FormContato(request.POST)

if form.is_valid():
form.enviar()
mostrar = 'Contato enviado!'
form = FormContato()
else:
form = FormContato()

return render_to_response(
'contato.html',
locals(),
context_instance=RequestContext(request),
)


Deveria aparecer um erro assim:

error at/contato/
(10061, 'Connection refused')


Entretando no meu aparece esse aqui:

SMTPServerDisconnected at /contato/

Connection unexpectedly closed


Não sei o que pode ser... pois mesmo depois que eu acrescento essas
linhas aqui:

EMAIL_HOST = 'seu endereço de SMTP'
EMAIL_HOST_USER = 'seu endereço de e-mail'
EMAIL_HOST_PASSWORD = 'sua senha'
EMAIL_SUBJECT_PREFIX = '[Blog do Alatazan]'


Nao da certo. Outra coisa no livro diz pra usar:

Se caso seu servidor de e-mail utilizar conexão segura, acrescente
esta linha:

EMAIL_PORT = 587

Se caso seu servidor de e-mail utilizar conexão do tipo TLS,
acrescente esta linha também:

EMAIL_USE_TLS = True

Como eu não sabia qual era o meu tentei os dois mas so dá o erro acima
do qual falei.

Gustavo Henrique

unread,
Nov 21, 2009, 9:35:28 AM11/21/09
to django...@googlegroups.com
Provavelmente o endereço do servidor, nome de usuario ou senha está incorreto.
Em EMAIL_HOST voce configurou qual servidor smtp? O PC está conectado à internet no momento do teste?



--
Gustavo Henrique
blog.gustavohenrique.net

Srta Ludy

unread,
Nov 21, 2009, 11:23:28 AM11/21/09
to Django Brasil
Eu não me lembre de ter configurado o EMAIL_HOST, onde faço isso? E
quando você diz que o endereço do servidor está errado, onde vejo
isso?

Srta Ludy

unread,
Nov 21, 2009, 12:08:56 PM11/21/09
to Django Brasil
Alguem poderia me ajudar preciso muito resolver esse problema pra
terminar meu projeto...

Gustavo Henrique

unread,
Nov 21, 2009, 12:09:19 PM11/21/09
to django...@googlegroups.com
essas variaveis sao definidas por voce no settings.py. Por padrao, o settings.py nao contem entao voce tem que criar.
Onde está escrito 'seu endereço de SMTP' significa que é pra voce apagar esse texto e digitar o endereco do seu servidor de e-mai. Isso vale para os demais campos. Digite seu e-mail mesmo e sua senha tambem.

Ex.:
EMAIL_HOST = 'smtp.ig.com.br'
EMAIL_HOST_USER = 'e...@ig.com.br'
EMAIL_HOST_PASSWORD = '123456'
EMAIL_SUBJECT_PREFIX = '[E-mail vindo do meu site]'

Toda conta de e-mail possui um servidor que é responsavel por enviar as mensagens. Chamamos isso de servidor SMTP. Geralmente o endereco é smtp.nomedoprovedor.com.br.



--
Gustavo Henrique
blog.gustavohenrique.net

Gustavo Henrique

unread,
Nov 21, 2009, 12:12:11 PM11/21/09
to django...@googlegroups.com
Mais uma coisa, se voce nao sabe onde conseguir esses dados, tente acessar a pagina do seu provedor e procure alguma instrucao sobre como configurar para enviar mensagens no Outlook. Entao voce vai ver qual o endereco do servidor de e-mail, e a porta usada. Por padrao a porta usada para enviar é a 25, mas quando o servidor requer autenticacao e usa TLS a porta muda (gmail por exemplo).



--
Gustavo Henrique
blog.gustavohenrique.net

Srta Ludy

unread,
Nov 21, 2009, 12:37:11 PM11/21/09
to Django Brasil
olha como esta meu settigs, lá no final tem as modificacoes que fiz
como falou, mas agora ta dando esse erro aqui:

**********************************
SMTPException at /contato/

SMTP AUTH extension not supported by server.

***********************************

SETTINGS.PY

import os
PROJECT_ROOT_PATH = os.path.dirname(os.path.abspath(__file__))

# Django settings for meu_blog project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
# ('Your Name', 'your_...@domain.com'),
)

MANAGERS = ADMINS

DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2',
'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = os.path.join(PROJECT_ROOT_PATH,'meu_blog.db')
DATABASE_USER = '' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost.
Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not
used with sqlite3.

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as
your
# system time zone.
TIME_ZONE = 'America/Sao_Paulo'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'pt-br'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as
not
# to load the internationalization machinery.
USE_I18N = True

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = os.path.join(PROJECT_ROOT_PATH, 'media')

# URL that handles the media served from MEDIA_ROOT. Make sure to use
a
# trailing slash if there is a path component (optional in other
cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = '/media/'

# URL prefix for admin media -- CSS, JavaScript and images. Make sure
to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/admin_media/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = '_@m-w#6ji=m0la8bywt$j04@n1v$3^=tv%yein(ujz#ct%=e_q'

# List of callables that know how to import templates from various
sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)

ROOT_URLCONF = 'meu_blog.urls'

TEMPLATE_DIRS = (
os.path.join(PROJECT_ROOT_PATH,'templates'),
)





INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.syndication',
'django.contrib.flatpages',

'blog',
)


EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'ludy.frei...@gmail.com'
EMAIL_HOST_PASSWORD = '12345'
EMAIL_SUBJECT_PREFIX = '[Blog da Moda]'
EMAIL_PORT = 587






Gustavo Henrique

unread,
Nov 21, 2009, 1:34:31 PM11/21/09
to django...@googlegroups.com
Faltou o EMAIL_USE_TLS=True


--
Gustavo Henrique
blog.gustavohenrique.net

Srta Ludy

unread,
Nov 21, 2009, 1:39:11 PM11/21/09
to Django Brasil
Dá isso aqui na página:

Conexão reiniciada

A conexão para o servidor foi reiniciada durante o carregamento da
página.

* Este site pode estar temporariamente fora do ar ou
sobrecarregado. Tente de novo em alguns instantes.

* Se você não consegue carregar nenhuma página, verifique a
conexão de rede do computador.

* Se o seu computador ou rede forem protegidos por um firewall
ou proxy, certifique-se de que o Firefox esteja autorizado a acessar a
web.

Srta Ludy

unread,
Nov 21, 2009, 1:49:28 PM11/21/09
to Django Brasil
Agora o erro é esse aqui:


SMTPAuthenticationError at /contato/

(535, '5.7.1 Username and Password not accepted. Learn more at\n5.7.1
http://mail.google.com/support/bin/answer.py?answer=14257
7sm7717331qwf.14')

Request Method: POST
Request URL: http://localhost:8000/contato/
Exception Type: SMTPAuthenticationError
Exception Value:

(535, '5.7.1 Username and Password not accepted. Learn more at\n5.7.1
http://mail.google.com/support/bin/answer.py?answer=14257
7sm7717331qwf.14')

Exception Location: d:\Python25\lib\smtplib.py in login, line 591
Python Executable: d:\Python25\python.exe
Python Version: 2.5.2
Python Path: ['D:\\Projetos\\meu_blog', 'C:\\Windows\\system32\
\python25.zip', 'd:\\Python25\\DLLs', 'd:\\Python25\\lib', 'd:\
\Python25\\lib\\plat-win', 'd:\\Python25\\lib\\lib-tk', 'd:\
\Python25', 'd:\\Python25\\lib\\site-packages']
Server time: Sab, 21 Nov 2009 16:48:48 -0200

Gustavo Henrique

unread,
Nov 21, 2009, 1:55:43 PM11/21/09
to django...@googlegroups.com
seu e-mail esta correto e a senha tambem? lembrou de alterar a senha 12345 pela sua senha verdadeira?

Ah, outra coisa, quando for postar um código muito grande, é recomendado que utilize o site http://dpaste.com ou http://pastebin.com. Cola o código no site, escolha como sintaxe python e depois de enviar o formulario cole aqui o endereco que vai ser gerado apontando para seu codigo.

--
Gustavo Henrique
blog.gustavohenrique.net

George Ribeiro

unread,
Nov 21, 2009, 2:07:19 PM11/21/09
to django...@googlegroups.com
Coloque a senha do seu email em EMAIL_HOST_PASSWORD no seu settings, mas não precisa
passar pra gente aqui, e depois tente novamente.

2009/11/21 Srta Ludy <ludy.frei...@gmail.com>



--
George Ribeiro
Desenvolvedor Web Python/Django
Coordenador de Projetos - Empresa Júnior Computação
Sobral/CE

Srta Ludy

unread,
Nov 22, 2009, 7:02:01 AM11/22/09
to Django Brasil
Bem agora o problema é outro: Na parte em que tenho que baixar e
instalar um banco de dados deu erro quando eu terminei de instalar o
MySQL, pois quando eu executei o arquivo gerar_banco_de_dados não
aconteceu como o livro descreveu. Pois bem, depois disso eu instalei e
desistalei esse banco umas 4 vezes e foi só piorando. E agora o que eu
faço? Ele fica dando erro quando eu escolher as opções como por
exemplo: Escolher um diretório ou algo assim.

George Ribeiro

unread,
Nov 22, 2009, 4:07:21 PM11/22/09
to django...@googlegroups.com
Coloque o erro no dpaste e escolha a opção python interactive traceback para que possamos analizar o erro.

2009/11/22 Srta Ludy <ludy.frei...@gmail.com>
Reply all
Reply to author
Forward
0 new messages