2017-09-13 6 views
0

私のDjangoプロジェクトにはorganizationに属しているleadsがあります。私の意見の1つは、組織によってこれらのリードをフィルターに掛け、次にそれらに電子メールでメッセージを送ります。このメッセージはHTMLテンプレートの形式です。Djangoで電子メールを送信するときに一意の変数を渡す

現在、これは私がそれを行う方法です。

# FIRST: get a list of all the emails 
leads_email = [] 

leads = Lead.objects.filter(organization=organization) 
for lead in leads: 
    if lead.email != None: 
     leads_email.append(lead.email) 


# SECOND: Django email functions 
msg = EmailMessage(subject, 
        get_template('email_templates/campaign_email.html').render(
         { 
          'message': message, 
         } 
        ), 
        from_email, 
        bcc=to_list) 
msg.content_subtype = "html" 
msg.send() 

しかし、各leadは、それらに関連付けられた一意のコードを持って、このフィールドはlead.codeの下で発見されました。このコードを電子メールに含めたいと思います。

たとえば、[email protected]のユニークなコードが「test123」の場合、[email protected]だけに電子メールにそのコードを含めるとします。私は現在、messageという変数を渡してこれを行っていますが、これは一意ではなく、すべてのリードが同じことを取得します。

私はこれを実現する方法上の任意のアイデア?ありがとう

答えて

2

各オブジェクトに固有の電子メールコンテンツがある場合は、一括ではなく個別に電子メールを送信する必要があります。だから、あなたのループに電子メールコードを含める必要があります。

leads = Lead.objects.filter(organization=organization) 
for lead in leads: 
    if lead.email != None: 
     msg = EmailMessage(
      subject, 
      get_template('email_templates/campaign_email.html').render(
       { 
        'message': message, 
        'code': lead.code 
       } 
      ), 
      from_email, 
      [lead.email, ] 
     ) 
     msg.content_subtype = "html" 
     msg.send() 
関連する問題