To 和 From 在 django send_mail() 中返回相同的电子邮件 ID

Views.py


def contact(request):

    if request.method == 'POST':

        message_name = request.POST['message-name']

        message_email = request.POST['message-email']

        message = request.POST['message']


        # send an email


        send_mail(

            'Message from ' + message_name,  # subject

            message,  # message

            message_email,  # from email

            ['myEmailId@gmail.com'],  # to email

        )

settings.py


EMAIL_HOST = 'smtp.gmail.com'

EMAIL_PORT = 587

EMAIL_HOST_USER = 'myEmailId@gmail.com'

EMAIL_HOST_PASSWORD = '<myaccount app password>'

EMAIL_USE_TLS = True

联系人.html


<form action="{% url 'contact' %}" method="POST" class="bg-light p-5 contact-form">

  {% csrf_token %}

  <div class="form-group">

      <input type="text" name="message-name" class="form-control" placeholder="Your Name">

  </div>

  <div class="form-group">

      <input type="email" name="message-email" class="form-control" placeholder="Your Email">

  </div>

  <div class="form-group">

      <textarea name="message" id="" cols="30" rows="7" class="form-control" placeholder="Message"> 

      </textarea>

   </div>

   <div class="form-group">

       <input type="submit" value="Send Message" class="btn btn-primary py-3 px-5">

   </div>

</form>

我已经为联系我页面创建了这段代码。现在,当用户提交包含字段message-name、message-email 和 message的联系表单时,我会收到一封电子邮件,其中FROM和TO都是我的email-id。


它没有检索用户的电子邮件。但其余领域工作正常。


甚至使用DebuggingServer进行了测试,并且按预期工作。好像我在 setting.py 中遗漏了一些东西,因为那是我更改的一个文件。我不明白我哪里出错了。任何帮助表示赞赏。


饮歌长啸
浏览 103回答 1
1回答

江户川乱折腾

您不应在发件人字段中使用用户的电子邮件地址。它应该是您控制的地址。通过在 from 字段中使用用户的电子邮件,这意味着电子邮件是由用户发送的,但事实并非如此,也不应该发生。此外,gmail 不允许您从您的帐户中的任何其他人的电子邮件地址发送电子邮件。我建议您使用自己的电子邮件地址,并在消息中包含用户的电子邮件地址。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python