Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 554 SMTP邮件错误Django_Python_Django_Email_Web Hosting_Django 1.7 - Fatal编程技术网

Python 554 SMTP邮件错误Django

Python 554 SMTP邮件错误Django,python,django,email,web-hosting,django-1.7,Python,Django,Email,Web Hosting,Django 1.7,我最近使用Apache和mod_wsgi在我的Ubuntu12.04服务器上建立了一个Django 1.7.3网站。除了邮件发送,其他一切都正常。我不明白为什么这不起作用,因为我在以前的PHP网站上使用了相同的配置(端口、主机等),并且成功了。所以它一定是来自Python的东西。代码和电子邮件发送在本地也有效 在我的settings.py文件中,我编写了SMTP主机配置: EMAIL_HOST = 'SSL0.OVH.NET' EMAIL_PORT = 587 EMAIL_HOST_USER =

我最近使用Apache和mod_wsgi在我的Ubuntu12.04服务器上建立了一个Django 1.7.3网站。除了邮件发送,其他一切都正常。我不明白为什么这不起作用,因为我在以前的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网站没有问题)。我已与他们联系,并将不断向您更新。

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

嘿,我刚才在谷歌上看到了你的部分错误,得到了这个请检查:

并检查以下内容:


这可能会对您有所帮助。

这可能是因为您的服务器将邮件视为垃圾邮件(参考:)。此处要查看的另一个设置:好的,谢谢您的回答和链接,但我确信有一个明确的发件人具有有效的电子邮件地址。感谢您提供的链接,关于第一个问题:我不会随此邮件发送任何文件,它尽可能简单。对于第二个问题,这证实了一个事实,即问题可能来自OVH。我已经和他们联系过了,我会不断更新我的帖子。