【问题标题】:Send email django from any host从任何主机发送电子邮件 django
【发布时间】:2015-06-04 10:50:08
【问题描述】:

我已经阅读了大量通过 django 发送电子邮件的链接。我已经尝试了所有这些,但它们都不起作用。我尝试通过 python shell 发送电子邮件,我得到'1'。 - 那么我应该使用哪些设置才能使电子邮件正常工作,我愿意使用任何邮件服务器? - 我使用的是 gmail,但我读到它会导致问题,例如,如果我要使用 hotmail,我是否需要在 settings.xml 中指定电子邮件密码? - 如何调试这个问题?

【问题讨论】:

  • 您是否指定了所有必需的设置? docs.djangoproject.com/en/1.8/topics/email
  • 我使用了以下设置:MAIL_USE_TLS ,EMAIL_HOST ,EMAIL_PORT ,EMAIL_HOST_USER ,EMAIL_HOST_PASSWORD ,EMAIL_BACKEND ,EMAIL_FILE_PATH

标签: python django email django-models


【解决方案1】:

你可以试试yagmail,应该会轻松很多:

import yagmail
yag = yagmail.Connect('user@gmail.com', 'password')
yagmail.send(email_to, subject = 'site down!', contents = 'with some error')

它有更多的功能,例如如何更容易发送附件等。

yagmail 可以在github找到。

您可能必须先使用 pip 安装它:

pip install yagmail  # python 2
pip3 install yagmail # python 3 

【讨论】:

  • 谢谢,但我希望它也适用于其他域,而不仅仅是 gmail。
  • @PokaYoke 它适用于 SMTP。所以你基本上可以做任何领域:yagmail.Connect('user@gmail.com', 'password', host = 'mydomain', port = 1337)
  • “yagmail”这个名字让我觉得它只适用于 gmail。对于我的应用程序,我不想安装额外的库,因为我与很多人一起工作,我不想处理“它在我的机器上不工作”的麻烦。
【解决方案2】:

这是使用 SMTP Lib 发送电子邮件的纯 Python 代码

from threading import Thread
import requests
import time
import smtplib
def email_sender(input_message, email_to, client):
    ''' function to send email '''
    to = email_to
    gmail_user = 'email of sender account'
    gmail_pwd = 'password of sender account'
    smtpserver = smtplib.SMTP("smtp.gmail.com",587)
    smtpserver.ehlo()
    smtpserver.starttls()
    smtpserver.ehlo
    smtpserver.login(gmail_user, gmail_pwd)
    header = 'To:' + to + '\n' + 'From: ' + gmail_user + '\n' + 'Subject:site down! \n'
    input_message = input_message + client
    msg = header + input_message
    smtpserver.sendmail(gmail_user, to, msg)
    smtpserver.close()

【讨论】:

  • 很好用,我必须在设置中启用从不太安全的应用程序访问 gmail。谢谢你。如果我使用的是其他邮件服务器,是否需要更改一些内容
  • 无论我在 input_message 中写什么,我都会收到一封空电子邮件。我尝试对消息进行硬编码,但没有发送我使用 input_message='TEST'
  • 邮件正文前需加'\n'
猜你喜欢
  • 2016-07-22
  • 2021-05-07
  • 1970-01-01
  • 2012-05-20
  • 2013-04-16
  • 2014-10-25
相关资源
最近更新 更多