繁体   English   中英

Django电子邮件-定义用户名和密码

[英]Django Email - Define Username and Password

文档中 ,我看到可以在后端文件中定义主机,端口,用户名和密码,但是我想在代码本身中定义所有它们。 能做到吗? 如果是这样,怎么办?

from django.core.mail import EmailMessage

email = EmailMessage(
    'Hello',
    'Body goes here',
    'from@example.com',
    ['to1@example.com', 'to2@example.com'],
    ['bcc@example.com'],
    reply_to=['another@example.com'],
    headers={'Message-ID': 'foo'},
)

message.attach_file('/images/weather_map.pdf')

提前致谢!

更新:

我想避免将凭证存储在任何文件中。 最终,我希望代码提示输入用户名和密码作为输入变量。 更新:

我尝试了这个:

import pandas as pd
from django.core.mail import EmailMessage
from django.core.mail.backends.smtp import EmailBackend
attachment_path=r'C:\path'+'\\'

connection = EmailBackend(
    host='host',
    port=587,
    username='login',
    password='password'
)

email = EmailMessage(
    'Hello',
    'Body goes here',
    'example@example.com',
    ['example@example.com'],
    ['example@example.com'],
    reply_to=['example@example.com'],
    headers={'Message-ID': 'foo'},
    connection=connection
)
email.attach_file(attachment_path+'attachment.pdf')
email.send()

您可以使用get_connection实例化电子邮件后端:

from django.core.mail import get_connection

connection = get_connection(
    host='...',
    port='...',
    username='...',
    ...
)

然后在实例化EmailMessage时传递您的连接。

email = EmailMessage(
    'Hello',
    'Body goes here',
    'from@example.com',
    ['to1@example.com', 'to2@example.com'],
    ['bcc@example.com'],
    reply_to=['another@example.com'],
    headers={'Message-ID': 'foo'},
    connection=connection,
)

Django只是一个Python包。 您实际上可以用一百万种不同的方式执行此操作。

您可以将类导入到任何地方(例如views.py等):

from django.core.mail import EmailMessage

然后按文档中的名称进行调用。

如果您不知道什么是views.py,那么我强烈建议您按照本教程进行操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM