Ошибка API - python / html - mailgun - Отправка созданного изображения в виде вложения электронной почты - PullRequest
0 голосов
/ 09 января 2020

Я создаю приложение для создания графика (используя matplotlib ) и хотел бы, чтобы люди могли отправлять себе готовый продукт; У меня уже работает, так что я могу загрузить его в виде файла, я просто хотел бы интегрировать API.

У меня есть OSError: [Errno 22] Недопустимый аргумент: 'data: image / png; base64 ', {{plot_url}}

Однако электронное письмо также не отправляется, поэтому я уверен, что после его сортировки будет больше ошибок!

Python:

    def send_simple_message():
        form_data = request.form
        email_address = form_data["email_address"]
        return request.form(
            "api_details",
            auth=("api_details"),
                files=[("Your Graph", open(href="data:image/png;base64, {{ plot_url }}"))],
                data ={
                "from": "Graph Generator <email_address_with_API-_key>",
                "to": [int(form_data["email_address"])],
                "subject": "Your graph",
                "text": "Please find attached your graph!"})
        return render_template('thank_you.html'))

HTML:

      <p class="instructions">Here is your graph!</p>
      <div class="graphplot">   <img src="data:image/png;base64, {{ plot_url }}"></div>
      <div class="child three container">
      <p>Can you see how all your data points are plotted onto it? What will you plot next?</p>
      <form methods="post" action="/">
   <button type="submit" class="btn btn-primary"><a href="data:image/png;base64, {{ plot_url }}" download="Graph">Download your graph
       </a></button></form>
       <br>
          <form action="/">
   <button type="submit" class="btn btn-primary">Plot again</button></form>
     <div id="contact-form" class="col" width=200px >
         <form method="post" action="/thank_you">
         <p>Enter your email address to send yourself your graph!</p>
         <input type="email" id="email_address" name="email_address" class="form-control" required>
         <input type="submit" class="btn btn-primary" value="Submit" id="submit-button">
         </form>
   </div>

Что мне нужно изменить, чтобы это работало?

Спасибо!

...