Странный ответ от сервера mandrill
У меня есть приложение Django, и я использую Mandrill для отправки писем. До недавнего времени я отправлял простые письма, и это прекрасно работало. Но теперь я хочу отправлять письма с вложениями, поэтому я изменил структуру сообщений так:
def construct_message(self):
content = self.get_content()
attachments = self.kwargs.get('attachments', None)
message = {} if not attachments else MIMEMultipart()
message['subject'] = content['subject']
message['text'] = content['txt']
message['html'] = content['html']
message['from_email'] = self.sender
message['from_name'] = '***'
recipients = self._get_recipients()
if attachments:
message['to'] = ", ".join([r["email"] for r in recipients])
else:
message['to'] = recipients
message['cc'] = []
message['bcc'] = []
if attachments:
for a in attachments:
part = MIMEApplication(open(a,"rb").read())
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(a))
message.attach(part)
message = message.as_string()
return message
def send_message(self, message):
"""Actually send the message."""
api_key = settings.MANDRILL_API_KEY_INTERNAL if self.is_internal else settings.MANDRILL_API_KEY_EXTERNAL
key_type_str = "internal" if self.is_internal else "external"
logging.debug("Sending mail through %s API key %s" % (key_type_str, api_key))
mandrill_client = mandrill.Mandrill(api_key)
return mandrill_client.messages.send(message=message)
И с тех пор я получаю следующий ответ от вызова API mandrill:
ValidationError: Ошибка проверки: {"message":"Пожалуйста, введите массив"}
У вас есть идея, что я делаю не так? Спасибо, Алекс А.