如何使用没有PINAX的django邮件程序

时间:2009-11-30 12:26:06

标签: django django-mailer

我想在没有PINAX的情况下使用django-mailer。当我运行./manager.py send_mail时 它打印:

Unknown command: 'send_mail'
Type 'manage.py help' for usage.

我该如何解决这个问题?

Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31) 
[GCC 4.2.1 (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.conf import settings
>>> 'mailer' in settings.INSTALLED_APPS
True
>>> 

$./manage.py send_mail
Unknown command: 'send_mail'
Type 'manage.py help' for usage.

我使用easy_install django-mailer来安装邮件程序和django版本 是

    VERSION = (1, 1, 1, 'final', 0)

和邮件版本为0.1.0

2 个答案:

答案 0 :(得分:6)

要仔细检查的一些事项:

  1. 你安装了django-mailer吗?
  2. 您的PYTHONPATH中是否有邮件?导入邮件程序时,是否获得了预期的模块(版本和预期路径)?
  3. 邮件是否列在您的INSTALLED_APPS?
  4. $ ./manage.py shell
    >>> import mailer
    >>> mailer.get_version()
    '0.1.0'
    >>> mailer.__file__
    /PATH/TO/YOUR/PYTHON/LIBS/mailer/__init__.py
    >>> # did it import?  did you get the expected version?  expected path?  
    >>> # good, django-mailer is in your PYTHONPATH.  now verify project settings.
    >>> from django.conf import settings
    >>> 'mailer' in settings.INSTALLED_APPS
    True
    

    此时,您应该在可用的manage.py子命令列表中看到send_mail。

      

    $ ./manage.py --help
         用法:manage.py子命令[options] [args]
         [...]
         的runserver
         send_mail
         外壳
         [...]
         $

    之后,您还需要确保通过cron作业运行./manage.py send_mail

    * * * * * (cd $YOUR_PROJECT; /usr/bin/python manage.py send_mail >> cron_mail.log 2>&1)  
    0,20,40 * * * * (cd $YOUR_PROJECT; /usr/bin/python manage.py retry_deferred >> cron_mail_deferred.log 2>&1)
    

    在开发过程中无需实际设置这两个cronjobs,只需通过管理员查找您的消息。

    django-mailer模块有使用说明,但这可以帮助您启动并运行。

答案 1 :(得分:2)

您是否只能从django-mailer下载并单独安装?