在我的settings.py篇文章中,我有以下几点:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

# Host for sending e-mail.
EMAIL_HOST = 'localhost'

# Port for sending e-mail.
EMAIL_PORT = 1025

# Optional SMTP authentication information for EMAIL_HOST.
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False

我的邮箱代码:

from django.core.mail import EmailMessage
email = EmailMessage('Hello', 'World', to=['user@gmail.com'])
email.send()

当然,如果我通过python -m smtpd -n -c DebuggingServer localhost:1025设置调试服务器,我可以在我的终端中看到邮箱.

但是,我如何才能真正将邮箱发送到user@gmail.com而不是调试服务器呢?

读完你的答案后,让我直截了当地说:

  1. 您不能使用localhost(简单的ubuntu PC)来发送邮箱吗?

  2. 我想在Django 1.3中,send_mail()有点过时,取而代之的是EmailMessage.send()

推荐答案

将邮箱发送到真实的SMTP服务器.如果你不想建立自己的网站,那么你可以找一些公司为你运营一个网站,比如谷歌自己.

Django相关问答推荐

Django在保存时更新m2m对象

使用django直接计算geohash而不创建模型

Django中的登录重定向

Django Prefetch上的多重过滤

Django中的DateTimeField到DateField

django-filter compose 过滤的 url

新的 Django 开发人员无法在网站上显示Hello World,而不是默认安装成功页面

身份验证有效,但登录无效.一直卡在pending

获取 Django Rest API 的第一个和最后一个相关对象

Django 转储数据将附加数据添加到 json 导出

Django 身份验证系统修改

如何在 Django 中创建一个独特的 slug

Django ORM,按天分组

将 **kwargs 传递给 Django 表单

在 Django 网站上找不到页面 404?

如何在 Django 中向 ChoiceField 添加class?

Django:在还原(迁移)后try 访问数据库时权限被拒绝

Django中reverse()和reverse_lazy()的区别

如何检测 Heroku 的环境?

如何从 django 请求中获取完整的 url