我正在尝试编写一个单独的邮件服务,它与我们的 Flask 应用程序分离。我正在寻找一种在用户首次登录我们的 Flask 应用程序时发送欢迎电子邮件的方法。我正在使用 Celery 和 RabbitMQ 异步执行此操作。
这是我的电子邮件功能:
sen = 'example@gmail.com'
pwd = 'my_password'
@celery.task
def send_email(nickname, email):
msg = MIMEMultipart('alternative')
msg['Subject'] = 'my_sub'
msg['From'] = sen
msg['To'] = email
html = <b>test_body</b>
part1 = MIMEText(html, 'html')
msg.attach(part1)
server = smtplib.SMTP("smtp.gmail.com", 587)
server.ehlo()
server.starttls()
server.login(sen, pwd)
server.sendmail(sen, [email], msg.as_string())
server.close()
最初我使用 Flask 的 render_template
来获取 HTML 正文和主题。但我不想使用 Flask 扩展(我有我的理由)。所以我的问题是:
如何使用电子邮件模板以便轻松配置主题和正文字段?
如何将默认电子邮件发件人和密码放入
config
文件/电子邮件模板(可能与 q1 相关)?发送一封简单的邮件好像代码很多。你能建议一些优化技术(省略步骤)吗?
最佳答案
我编写了一个简单的模块 (mail.py) 来使用模板 (HTML/TEXT) 发送电子邮件。希望对您有所帮助!
关于python - 使用 HTML 模板在 python 中发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19595702/