2013-05-10 2 views
0

일부 사실 :
저는 devserver로 localhost에서 작업하고 있습니다. 장고 프로젝트에서 전자 메일 전송이 완벽하게 작동합니다. 새로운 Django 프로젝트를 만들었습니다. 1.4.5, settings.py의 작업 프로젝트 (EMAIL_HOST, EMAIL_PORT ...)를 새 프로젝트로 복사/붙여 넣기하고, manage.py와 쉘을 엽니 다. 첫 번째 프로젝트의 django.core.mail에서 send_mail을로드하면 전자 메일을받을 수 있습니다 (전자 메일 클라이언트에서 수신함). 두 번째로는 전자 메일이 전송되지 않습니다. 나는 다양한 서버, gmail 및 gandi를 사용해 보았습니다. 순수한 파이썬 코드로 smtplib을 직접 사용해 보았고 동일한 설정으로 작동합니다. 첫 번째 프로젝트와 smtplib로 메일을 보내는 동안 명령 줄에서 프롬프트를 반환하는 데 몇 초가 걸리지 만 두 번째 프로젝트에서는 즉시 프롬프트가 반환되므로 아무 것도 일어나지 않는다고 생각하게합니다. 전자 메일을 보내려면 장고 구성

제 질문은 내 새 프로젝트의 구성에서 잘못되었을 수 있습니다. 어디를 볼 것인가? 가능한 경우 디버깅하는 방법? 합니다 (send_mail 기능은 내가 보낸 메일의 수는 1을 반환, 다시 추적을 얻을 수있는 방법이나 유용한 오류 메시지가?)

+0

질문 하나만 사용하고 있습니까? 설정에서 DEBUG = true를 사용하고 있습니까? – lalo

+0

@lalo 두 프로젝트에서 내 localhost에 DEBUG = True, 서버에 DEBUG = False (서버에서 동작이 동일하며 새 프로젝트에서 전자 메일이 작동하지 않음). – Bastian

답변

0

질문 중 하나에 대답 :

>>> 디버깅하는 방법?

디버그하려는 항목을 호출하기 바로 전에 pdb.set_trace()을 사용하십시오.

+0

send_mail 기능으로 pdb를 사용하는 방법을 확장 할 수 있습니까? 내 경험에 – Bastian

+0

나는 코드의 실행을 중지하고 디버깅을 시작 pdb를 사용합니다. 내 질문에는 거기에 코드 실행, 그냥 내게 도움이 될 수있는 메시지를 반환하지 않는 함수입니다. 나는 pdb가 내가 그것을 사용하는 방식으로 여기에서 나를 도울 방법을 보지 못했다. 다르게 사용하는 방법을 알고 있다면 여기에서 관련성이 있습니다. – Bastian

+0

바스 티앙 (Bastian) 안녕하세요, 'pdb'를 사용하여 "메일 보내기"기능을 단계적으로 수행하지 않아도됩니다 (장고 라이브러리인지는 중요하지 않습니다). Pdb 프롬프트에서'step'을 사용할 수 있습니다. –

0

나는 그것이 쉽다는 것을 알고, 그것은 설정 이어야만했다. 그 중 하나가 어디에서 오는지 나는, 그것은 새로운 장고 프로젝트에 기본적으로 표시 될 수없는, 나도 몰라하지만 난 내 이메일 설정에서 지금까지 내 설정 파일에

EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" 

을했고, 내가 입력 한 적이 없었다 나 자신. SMTP로 변경하거나 주석 달기는 실제로 장고를 보냅니다.

관련 문제