【问题标题】:554 SMTP Mail Error Django554 SMTP 邮件错误 Django
【发布时间】:2015-03-29 02:02:17
【问题描述】:

我最近使用 Apache 和 mod_wsgi 在我的 Ubuntu 12.04 服务器上建立了一个 Django 1.7.3 网站。除了邮件发送之外,Everythink 工作正常。我不明白为什么这不起作用,因为我一直在以前的 PHP 网站上使用相同的配置(端口、主机等)并且有效。所以它一定是来自 Python 的东西。代码和电子邮件发送也在本地工作。

在我的settings.py 文件中,我已经编写了我的 SMTP 托管配置:

EMAIL_HOST = 'SSL0.OVH.NET'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'contact@mywebsite.com'
EMAIL_HOST_PASSWORD = 'mypassword'

这是我的联系功能:

def contact(request):
    if request.method == 'POST':  
        form = ContactForm(request.POST) 
        if form.is_valid(): 
            subject = form.cleaned_data['subject']
            message = form.cleaned_data['message']
            sender = form.cleaned_data['sender']
            recipients = ['contact@mywebsite.com']
            try:
                send_mail(subject,message,sender, recipients)
                return redirect('myapp:index')
            except BadHeaderError:
                return HttpResponse('Invalid header found.')
    else: 
        form = ContactForm()
    return render(request, 'myapp/form.html', {'form': form})  

(我遇到与send_mail('hello','a simple text message', 'me@gmail.com', ['contact@mywebsite.com']) 相同的错误)

我的错误信息:

SMTPDataError at /contact/
    (554, b'mail server permanently rejected message (#5.3.0)')
    Request Method: POST
    Request URL: http://mywebsite.com/contact/
    Django Version: 1.7
    Exception Type: SMTPDataError
    Exception Value: (554, b'mail server permanently rejected message (#5.3.0)')
    Exception Location: /usr/lib/python3.2/smtplib.py in sendmail, line 761
    Python Executable: /usr/bin/python
    Python Version:3.2.3
    Python Path:
    ['/opt/.virtualenvs/my_env/lib/python3.2/site-packages/distribute-0.6.24-py3.2.egg',
     '/opt/.virtualenvs/my_env/lib/python3.2/site-packages/pip-1.1-py3.2.egg',
     '/var/www/mywebsite',
     '/opt/.virtualenvs/my_env/lib/python3.2/site-packages',
     '/usr/lib/python3.2',
     '/usr/lib/python3.2/plat-linux2',
     '/usr/lib/python3.2/lib-dynload',
     '/usr/local/lib/python3.2/dist-packages',
     '/usr/lib/python3/dist-packages']

非常感谢您的帮助!

更新 我使用 gmail 作为 smtp 服务器获得了成功的结果,所以问题出在 OVH 上? (但这很奇怪,因为同一个OVH邮件帐户的设置相同,我在同一台服务器上的PHP网站没有问题)。我已经联系了他们,会及时通知您。

【问题讨论】:

标签: python django email web-hosting django-1.7


【解决方案1】:

我建议检查您的 SMTP 主机配置,以确保它不会拒绝没有发件人地址的电子邮件。如果是,您需要在 settings.py 或您的函数中指定发件人。

【讨论】:

  • 好的,感谢您的回答和链接,但我确信有一个明确的发件人具有有效的电子邮件地址。
【解决方案2】:

嘿,我只是在谷歌上发现了你的一些错误并得到了这个,请查看:

http://www.marshu.com/design-computer-tips-tricks-fixes-reason-554-mail-server-permanently-rejected-message-email-returned.php

还要检查一下:

https://productforums.google.com/forum/#!topic/gmail/hM8C1wJXGCo

也许这对你有帮助。

【讨论】:

  • 谢谢你的链接,关于第一个:我没有用这封邮件发送任何文件,它尽可能简单。对于第二个,这已经证实了问题可能来自 OVH 的事实。我已经联系了他们,并将更新我的帖子。
猜你喜欢
  • 2014-10-26
  • 2013-02-15
  • 1970-01-01
  • 1970-01-01
  • 2019-12-02
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
相关资源
最近更新 更多