使用python通过Django发送Godaddy电子邮件

时间:2017-11-25 05:47:02

标签: python django email smtp contact-form

我有这些设置

EMAIL_HOST = 'smtpout.secureserver.net'
EMAIL_HOST_USER = 'username@domain.com'
EMAIL_HOST_PASSWORD = 'password'
DEFAULT_FROM_EMAIL = 'username@domain.com'
SERVER_EMAIL = 'username@domain.com'
EMAIL_PORT = 465
EMAIL_USE_TLS = True
SMTP_SSL = True

对Godaddy说话我发现这些是端口和设置

smtpout.secureserver.net
ssl
465

587
TLS ON

3535
TLS ON

25
TLS ON

80
TLS ON
or
TLS OFF

我尝试了所有的组合。如果我将TLS设置为True,我就会

STARTTLS extension not supported by the server.

如果我设置为465,我正在

Connetion Closed

如果我设置其他组合,如

EMAIL_HOST = 'smtpout.secureserver.net'
EMAIL_HOST_USER = 'username@domain.com'
EMAIL_HOST_PASSWORD = 'password'
DEFAULT_FROM_EMAIL = 'username@domain.com'
SERVER_EMAIL = 'username@domain.com'
EMAIL_PORT = 25
EMAIL_USE_TLS = False

Invalid Address

为了验证,我使用Google Mail设置来测试通过python发送的电子邮件是否有效,并且它正在运行。

现在我想切换到GoDaddy并且我知道电子邮件我们使用TLS登录甚至POP3下载并且它正在工作,所以我不确定为什么python / Django选项不起作用。你能帮忙吗?

我打电话给Godaddy,他们无法帮助,因为这是一个软件问题 - 他们所有的设置和端口都在工作,所以我没有人问。

4 个答案:

答案 0 :(得分:2)

我的GoDaddy电子邮件对我有用。由于GoDaddy在Office365中设置您的电子邮件,您可以使用smtp.office365.com。

settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.office365.com'
EMAIL_HOST_USER = 'myemail@GoDaddyDomain.com'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
EMAIL_HOST_PASSWORD = 'myPassword'
EMAIL_PORT = 587
EMAIL_USE_SSL = False
EMAIL_USE_TLS = True
处理发送电子邮件的views.py中的

方法。电子邮件变量来自用户表单。

from django.conf import settings
from django.core.mail import EmailMessage
def send_email(subject, body, email):
    try:
        email_msg = EmailMessage(subject, body, settings.EMAIL_HOST_USER, [settings.EMAIL_HOST_USER], reply_to=[email])
        email_msg.send()
        return "Message sent :)"
    except:
        return "Message failed, try again later :("

答案 1 :(得分:1)

我发现此代码对我有用。希望对某人有用。
我正在使用SMTP godaddy网络邮件。您可以将该代码放入django设置文件中。
由于无法同时设置SSL和TSL ...如果这样做,则会出现错误 例如,一次可以使用SSL或TSL。...

setting.py

# Emailing details
EMAIL_HOST = 'md-97.webhostbox.net'
EMAIL_HOST_USER = 'mailer@yourdomain'
EMAIL_HOST_PASSWORD = 'your login password'
EMAIL_PORT = 465
EMAIL_USE_SSL = True

答案 2 :(得分:1)

我设法决定访问该网站 https://sso.secureserver.net/?app=emailsetup&realm=pass& 似乎在访问时,您可以启用电子邮件以供外部使用。

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtpout.secureserver.net'
EMAIL_HOST_USER='aXXXX@xxxx'
EMAIL_HOST_PASSWORD='AsgGSDAGSasdsagas'
DEFAULT_FROM_EMAIL='aXXXX@xxxx' 
EMAIL_PORT=465
EMAIL_USE_SSL=True 
EMAIL_USE_TLS=False

对我有用

答案 3 :(得分:1)

已经有一段时间了,也许答案可以帮助其他人。我刚刚与 GoDaddy 讨论了这个问题,他们告诉我所需的配置就像,

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtpout.secureserver.net'
EMAIL_HOST_USER = env('EMAIL_HOST_USER')
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
EMAIL_HOST_PASSWORD = env('EMAIL_HOST_PASSWORD')
EMAIL_PORT = 80
EMAIL_USE_SSL = False
EMAIL_USE_TLS = True

这些是 django 配置设置,但我确信它可以复制到其他平台。

此外,他们提供的电子邮件 dns 配置是,

email dns config