Django 中如何使用 SMTP 认证发送电子邮件

2023-04-11 00:00:00 认证 如何使用 发送电子邮件

在 Django 中,我们可以使用 Python 标准库中的 smtplib 模块来发送电子邮件。下面是一个示例代码,演示如何使用 SMTP 认证发送电子邮件:

import smtplib
from email.mime.text import MIMEText

# 设置 SMTP 服务器地址和端口号
SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587

# 发件人邮箱地址和密码
SENDER_EMAIL = 'your_email@gmail.com'
SENDER_PASSWORD = 'your_password'

# 收件人邮箱地址
RECIPIENT_EMAIL = 'recipient_email@example.com'

# 构造电子邮件内容
message = MIMEText('Hello, world! This is a test email from pidancode.com.')
message['From'] = SENDER_EMAIL
message['To'] = RECIPIENT_EMAIL
message['Subject'] = 'Test Email'

# 连接 SMTP 服务器并发送电子邮件
with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
    server.starttls()  # 开启 TLS 加密
    server.login(SENDER_EMAIL, SENDER_PASSWORD)  # 登录邮箱
    server.sendmail(SENDER_EMAIL, RECIPIENT_EMAIL, message.as_string())  # 发送邮件

在上面的代码中,我们首先设置了 SMTP 服务器地址和端口号(这里以 Gmail 为例)。然后设置了发件人邮箱地址和密码,以及收件人邮箱地址。然后构造了电子邮件的内容,包括正文、发件人、收件人和主题。最后使用 SMTP 认证登录邮箱并发送邮件。

请注意,在使用 smtplib 模块发送邮件时,要确保在使用 sendmail() 方法时,发件人邮箱地址和密码是正确的,否则可能会导致发送失败。同时,也要确保在连接 SMTP 服务器之前调用 starttls() 方法以开启 TLS 加密。

相关文章