Django Email - 定义用户名和密码
Django Email - Define Username and Password
从 documentation 中,我看到可以在后端文件中定义主机、端口、用户名和密码,但我想在我的代码中定义所有这些。
这可以做到吗?如果是,怎么做?
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()
Django 只是一个 Python 包。你可以用一百万种不同的方式来做到这一点。
您可以在任何地方导入 class(例如 views.py 等):
from django.core.mail import EmailMessage
然后像文档中那样调用它..
如果你不知道views.py是什么那么我强烈推荐following the tutorial
您可以使用 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,
)
从 documentation 中,我看到可以在后端文件中定义主机、端口、用户名和密码,但我想在我的代码中定义所有这些。 这可以做到吗?如果是,怎么做?
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()
Django 只是一个 Python 包。你可以用一百万种不同的方式来做到这一点。
您可以在任何地方导入 class(例如 views.py 等):
from django.core.mail import EmailMessage
然后像文档中那样调用它..
如果你不知道views.py是什么那么我强烈推荐following the tutorial
您可以使用 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,
)