Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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 如何从窗体django发送电子邮件_Python_Django_Forms_Email - Fatal编程技术网

Python 如何从窗体django发送电子邮件

Python 如何从窗体django发送电子邮件,python,django,forms,email,Python,Django,Forms,Email,正如标题所述,我正试图通过表单发送电子邮件,但不起作用: 如你所见: <form method="POST" action=''> {% csrf_token %} <div class="control-group form-group"> <div class="controls"> <label>Nombre completo:</label> <

正如标题所述,我正试图通过表单发送电子邮件,但不起作用:

如你所见:

<form method="POST" action=''>
      {% csrf_token %}
      <div class="control-group form-group">
        <div class="controls">
          <label>Nombre completo:</label>
          <input type="text" class="form-control" id="nombre" required data-validation-required-message="Introduzca su nombre.">
          <p class="help-block"></p>
        </div>
      </div>
      <div class="control-group form-group">
        <div class="controls">
          <label>Asunto:</label>
          <input type="text" class="form-control" id="asunto" required data-validation-required-message="Introduzca el asunto del correo.">
        </div>
      </div>
      <div class="control-group form-group">
        <div class="controls">
          <label>Correo Electrónico:</label>
          <input type="email" class="form-control" id="email" required data-validation-required-message="Introduzca su correo electrónico.">
        </div>
      </div>
      <div class="control-group form-group">
        <div class="controls">
          <label>Mensaje:</label>
          <textarea rows="10" cols="100" class="form-control" id="contenido" required data-validation-required-message="Escriba su mensaje" maxlength="999" style="resize:none"></textarea>
        </div>
      </div>
      <button type="submit" class="btn btn-primary">Enviar mensaje</button>
    </form>
我正在使用POST请求调用表单,但没有发送任何内容


希望你能帮助我,谢谢

本质上,这是从djagno发送电子邮件的代码行

from django.core.mail import send_mail

send_mail(subject, content, from_email, to_list, fail_silently=False)
主题和内容部分是直观的,剩下的就是设置from_电子邮件和to_列表(甚至可以是列表中的一封电子邮件)

您必须在设置文件中定义以下变量

EMAIL_USE_TLS = True
EMAIL_HOST = smtp.gmail.com
EMAIL_HOST_USER = user@gsuiteaccount.com
EMAIL_HOST_PASSWORD = password
EMAIL_PORT = 587
Django允许使用gsuite帐户发送电子邮件。要设置gsuit,请转到您的Google帐户设置,查找安全性->帐户权限->访问不太安全的应用程序,启用此选项

关于此选项:
希望这能让您顺利完成。

如果您想发送邮件,则必须在项目的
设置.py
文件中配置此设置

例如,如果您想通过您的gmail帐户发送电子邮件:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = "your gmail address"
EMAIL_HOST_PASSWORD = 'your password'
EMAIL_PORT = '587'
还记得在你的谷歌账户中启用不太安全的应用程序来发送电子邮件。 在视图中,您可以这样尝试:

if request.method == 'POST' and email and name:
    send_mail(subject, content, settings.EMAIL_HOST_USER, ['kike1996@hotmail.com'], fail_silently=False)
可能重复的
if request.method == 'POST' and email and name:
    send_mail(subject, content, settings.EMAIL_HOST_USER, ['kike1996@hotmail.com'], fail_silently=False)