2017-09-13 2 views
0

내 장고 프로젝트에서 organization에 속한 leads이 있습니다. 내 의견 중 하나는 조직별로 이러한 단서를 필터링 한 다음 전자 메일로 메시지를 보냅니다. 이 메시지는 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() 
관련 문제