Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将多个收件人的电子邮件和姓名附加到EmailMultiAlternations中_Python_Django_Email_Mandrill - Fatal编程技术网

Python 将多个收件人的电子邮件和姓名附加到EmailMultiAlternations中

Python 将多个收件人的电子邮件和姓名附加到EmailMultiAlternations中,python,django,email,mandrill,Python,Django,Email,Mandrill,嗨,我有一个表单混合器,用户在其中输入一条消息并将其发送给多个收件人。我使用Mandrill作为我的电子邮件客户端。我目前可以将电子邮件发送给单个收件人,但当输入多个用户时会失败 这是mixin的形式 这是提交电子邮件的表单。我目前对收件人电子邮件和收件人名称使用相同的输入名称 <form role="form" action="/sendmail/" method="post"> <input type="

嗨,我有一个表单混合器,用户在其中输入一条消息并将其发送给多个收件人。我使用Mandrill作为我的电子邮件客户端。我目前可以将电子邮件发送给单个收件人,但当输入多个用户时会失败

这是mixin的形式 这是提交电子邮件的表单。我目前对收件人电子邮件和收件人名称使用相同的输入名称

<form role="form" action="/sendmail/" method="post">

<input type="text" name="name" class="form-control input" id="input1" autocomplete="off" placeholder="Enter Name">

<input type="text" name="email" class="form-control input" id="input2" autocomplete="off" placeholder="Enter Email">
   
<input class='form-control reciptest' name="rname" placeholder='Recipient Name' type='text'>

<input type="text" class="form-control emailtest" name="remail" placeholder="Recipient Email">
               
<a  class="btn btn-sm btn-default" onClick="addInput('dynamicInput');">Add Recipient </a>
<a class="btn btn-sm btn-default" onClick="removeInput('dynamicInput');">Remove Recipient</a>

<textarea id="input3" name="message" class="form-control input" rows="6" placeholder="Not more than 1000 letters" maxlength="1000"></textarea>

添加收件人
删除收件人

如何拆分和匹配收件人姓名和电子邮件列表,并将其附加到EmailMultiAlternations()和template_数据中?EmailMultiAlternations为“to”参数获取电子邮件地址列表,因此一种简单的方法是更改:

   msg = EmailMultiAlternatives(subject, message, email, [remail])
致:


这将在每个逗号处将remail字段的文本拆分为一个列表。

@peter ok,但我如何将输入的收件人姓名映射到模板数据中的收件人电子邮件?您是要向所有收件人发送一封电子邮件,还是向每个收件人发送一封不同的电子邮件?此答案将发送一封包含“收件人”列表中列出的所有收件人的电子邮件。(因此,无论您在模板中使用
{{receiver\u email}}
,您都会得到与表单中输入的完全相同的逗号分隔列表。)如果您想发送单独的电子邮件,请查看使用python for循环在
remail.split(',')
上迭代。我想向所有收件人发送一封电子邮件。但是我在尝试反复阅读电子邮件时迷失了方向,我想我不理解这个问题。您的“remail”输入以字符串形式输入。您可以使用python的方法将单个字符串拆分为一个列表。在python代码中,可以使用。在Django模板中,您可以使用.Im在列表上迭代,实际上通过javascript动态添加更多的remail输入。它们都有相同的输入名称。从您的示例中,您的问题可能是如何在Django表单中多次包含相同的输入字段名称,并获取所有值。查看和了解更多信息。
   msg = EmailMultiAlternatives(subject, message, email, [remail])
   msg = EmailMultiAlternatives(subject, message, email, remail.split(','))