2010-07-30 4 views
1

어떻게 이메일을 보내려면 django send_mail 결과를 얻을 수 있습니까? 로컬로 실행하고 이메일에 send_mail을 실행하고 True를 반환하지만 편지가 발송되지 않습니다 (SMTP가 설정되지 않았기 때문에). 그러나 결과는 참입니다. 실제 결과를 얻는 방법?django send_mail 결과가

답변

3

장고는 예외를 사용하여 이메일 전송 문제를 처리합니다. send_mail에 의해 반환 된 값은 보낸 전자 메일 수입니다.

당신이 예외를 받고하지 않는 경우, 그것은 여러 가지 중 하나가 될 수있다 : 당신은 다른 이메일을 사용하고

  • (기본값은 False입니다)

    • true로 fail_silently 세트가 백엔드 (smtp는 1.2+의 기본값이며 이전 버전의 유일한 옵션입니다.)
    • 메일이 실제로 전송되었지만 다른 것이 잘못되었습니다 (이메일 서버, 나쁜 이메일 주소, 스팸 폴더, Gmail 자체 발신 메일 숨기기 등).)
  • 4

    django-mailer을 사용하십시오. 전자 메일을 데이터베이스에 저장하고 cron-jobbed 관리 명령을 사용하여 전자 메일을 보냅니다. 이 문제를 추적하고 앱 응답 시간을 개선하며 일상 생활을보다 편리하게 만들어줍니다.

    +0

    thnx, this intresting. – Evg

    1

    이메일을 보내지 않았는지 알아보기 위해 예외를 사용하는 것도 좋습니다. 전자 메일 서버를 설정할 시간이나 옵션이 없다면 django + gmail을 사용하는 것이 좋습니다. U는 '가짜'Gmail 계정을 만들 수 있습니다 (이미 gmail-acc을 소유하고 있으면 'baned'할 수 있습니다.) django의 개발 서버를 사용 중이더라도 이메일을 보낼 수있는 기회로 SMTP를 사용합니다. 지역). How to is here