您好我試圖編寫單獨的郵件服務與我們的燒瓶應用程序分離。所以我正在尋找一種方式來發送歡迎電子郵件時,用戶首次登錄到我們的燒瓶應用程序。我正在使用Celery和rabbitmq來異步執行它。使用html模板發送電子郵件在python
這裏是我的電子郵件功能 -
sen = '[email protected]'
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()
起初我是用瓶的render_template獲得HTML正文和主題。但我不想用延長瓶(我有我的理由)。所以我的問題是:
1)我怎樣才能使用電子郵件模板,使主題和身體領域可以很容易地配置?
2)如何將默認電子郵件發件人和密碼放在配置文件/電子郵件模板中(可能與q1有關)?
3)它似乎是我有一個可怕的很多代碼發送一個簡單的電子郵件。你能提出一些優化技術(省略步驟)嗎?
在此先感謝您的幫助。
使用電子郵件模板的另一個原因 - 傳遞參數。爲了發送個性化的電子郵件。 – user2216194
如果你不想使用像'jinja2'這樣的模板引擎,你可以考慮[python標準庫string.Template](http://docs.python.org/2/library/string.html#template-字符串),它提供簡單的字符串替換。 –
@ user2216194,我也有類似的要求,你想出了一個解決方案?你不使用忍者的理由是什麼?或爲什麼不render_template? (編輯:它會幫助我評估解決方案) –