0
我试图使用Outlook的凭据从Django发送SMTP电子邮件。我的代码在本地主机上工作,但是当我将代码上传到生产服务器时,它不会。Django:生产服务器中的Outlook电子邮件smtp超时
如果我使用我的Gmail凭证,它也适用于生产,但它不适用于Outlook。所以,我认为Outlook配置方式不同,但我不知道。
这是我的看法代码:
def send_my_custom_email():
connection = mail.get_connection(
host = 'smtp-mail.outlook.com',
port = 25,
username = '[email protected]',
password = 'mypassword' ,
)
connection.open()
email2send = mail.EmailMessage('hello', 'hello', '[email protected]', to=['receiveremail'], connection=connection)
email2send.send()
connection.close()
我知道,我的配置设置是正确的,因为它可以从本地主机发送电子邮件。这些是我的settings.py:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
我已经尝试检查Outlook设置,但我找不到有关SMTP使用的任何信息。
我确切的问题是:
- 展望需要在生产aditional的设置?
- 问题出在我的代码或Outlook设置?
- 为什么它在localhost中工作,但它不在生产服务器中?
端口25在本地主机上工作。我尝试了您的建议,并且它仍然在端口587上超时。还有另一个设置用于加密的SMTP TLS? – Nazkter
它在本地工作,因为您的本地主机侦听端口25. Outlook.com不会。您是否在使用端口587时指定了TLS? –
我从本地主机指向outlook服务器,我没有使用本地SMTP服务器。我知道specigy TLS的唯一方法是在我的settings.py中放入“EMAIL_USE_TLS = True”,我不知道它是否必须在连接设置中配置 – Nazkter