2010-10-20 8 views
0

Я хочу отправить письмо с шаблоном, подобным этому.отправка шаблонов электронной почты в с django

{% extends "base.html" %} 

{% block content %} 
<h2>Invoice Details</h2> 
<div id="horizontalnav"> 
    <a href="/index/add_invoice">Add an Invoice</a> 
    <a href="/index/work_orders">Add a Work Order</a> 
    <a href="/index/add_payment">Add Payment</a> 
</div> 
<ul STYLE="border: 1px solid;float:left;padding:15px; width: 700px;"> 
<h2 STYLE="text-align: right; COLOR:blue; Font-family:ARIAL"> 
INVOICE</h2> 
<br/> 
    <b>company</b> 
    <br/> 
    <div id="list"> 
    {% for invoice in invoices_list %} 
     <p style="text-align: right;">INVOICE # {{invoice.invoice_no}}<br/> 
     {{invoice.date}}<br/> 
     {{invoice.contract_info}}<br/> 
     {% for invoice in invoice.work_orders.all %} 
     {{invoice}}<br/> 
     {% endfor %} 
    {% endfor %} 
    <p style="text-align: left"> 
    <p>To</p> 
    {{client.company}}<br/> 
    {{client.address}}<br/> 
    {{client.city}}<br/> 
    {{client.postcode}}<br/> 
    <p> 
    </div> 
</ul> 
{% endblock %} 

Я хочу отправить полностью html приведенные в действие шаблоны, с django datas. Однако у меня возникают некоторые проблемы. Я получаю эту ошибку.

"to" argument must be a list or tuple 

Я предполагаю, что может быть проблема с моими взглядами с посылом по электронной почте домена, но не должна быть проблемой с этим. Я как-то застрял в этом.

#views.py 
    @login_required 
    def invoice_mail(request): 
     t = loader.get_template('registration/email.txt') 
     c = Context({ 
     'invoices_list': 'invoices_list', 
     'clients_list': 'clients_list', 
     }) 
     send_mail('Welcome to My Project', t.render(c), 'joe[email protected]', '[[email protected]]', fail_silently=False) 

ответ

2

Сообщение об ошибке довольно явное. Аргумент to для send_mail, который является четвертым позиционным аргументом, должен быть списком или кортежем. По какой-то причине вы передаете строку с скобками внутри строки.

send_mail('Welcome to My Project', t.render(c), '[email protected]', 
      ['[email protected]'], fail_silently=False) 
Смежные вопросы