6

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 拡張機能は使用したくありません (理由があります)。だから私の質問は:

  1. 件名と本文フィールドを簡単に設定できるように、メール テンプレートを使用するにはどうすればよいですか?

  2. デフォルトの電子メール送信者とパスワードをファイル/電子メール テンプレートに入れるにはどうすればよいconfigですか (q1 に関連している可能性があります)。

  3. 簡単なメールを送信するためのコードがたくさんあるようです。いくつかの最適化手法を提案できますか (手順を省略します)?

4

2 に答える 2

0

外部サービスを使用する方が簡単な場合があります。

サービス (Mailchimp など) は簡単に統合できます。レイヤーでテンプレートを設計し、アプリからサービス API にマージ データを送信してメールをトリガーできます。機能的には、テンプレートをローカルでレンダリングして SMTP 経由でメール送信するのとよく似ていますが、メッセージ形式をデバイスに適合させたり、バウンスを追跡したり、配信率を改善したり、レポートを作成したりするための洗練されたツールがあります。

このようなサービスには、多くの場合、1 か月あたり最大 1000 通のメールの無料利用枠があります。

于 2016-10-07T22:09:41.427 に答える
0

テンプレート (HTML/TEXT) を使用してメールを送信するための単純なモジュール (mail.py) を作成しました。それが役立つことを願っています!

https://github.com/ludmal/pylib

于 2014-02-10T08:58:16.973 に答える