diff --git a/legacy.py b/legacy.py
index 3764780a8d67bb4b085514ff9a4d5fda87805dc0..9127450903ee2b4d59eb8721d44b4a3fa1e6bbc5 100644
--- a/legacy.py
+++ b/legacy.py
@@ -2,14 +2,14 @@ from datetime import datetime
 from fuzzywuzzy import fuzz, process
 import tempfile
 
-from models.database import Todo, OldTodo, Protocol, ProtocolType
+from models.database import Todo, OldTodo, Protocol, ProtocolType, TodoMail
 from shared import db
 
 import config
 
 def log_fuzzy(text):
-    with tempfile.NamedTemporaryFile(delete=False, mode="w") as tmpfile:
-        tmpfile.write(text + "\n\n")
+    #with tempfile.NamedTemporaryFile(delete=False, mode="w") as tmpfile:
+    #    tmpfile.write(text + "\n\n")
     print(text)
 
 def lookup_todo_id(old_candidates, new_who, new_description):
@@ -40,6 +40,7 @@ def lookup_todo_id(old_candidates, new_who, new_description):
 INSERT_PROTOCOLTYPE = "INSERT INTO `protocolManager_protocoltype`"
 INSERT_PROTOCOL = "INSERT INTO `protocolManager_protocol`"
 INSERT_TODO = "INSERT INTO `protocolManager_todo`"
+INSERT_TODOMAIL = "INSERT INTO `protocolManager_todonamemailassignment`"
 
 def import_old_protocols(sql_text):
     protocoltype_lines = []
@@ -73,6 +74,20 @@ def import_old_protocols(sql_text):
     for protocol in sorted(protocols, key=lambda p: p.date):
         print(protocol.date)
         tasks.parse_protocol(protocol)
+
+def import_old_todomails(sql_text):
+    todomail_lines = []
+    for line in sql_text.splitlines():
+        if line.startswith(INSERT_TODOMAIL):
+            todomail_lines.append(line)
+    if len(todomail_lines) == 0:
+        raise ValueError("Necessary lines not found.")
+    for line in todomail_lines:
+        for assignment_id, name, mail in _split_insert_line(line):
+            todomail = TodoMail(name, mail)
+            print(todomail)
+            db.session.add(todomail)
+            db.session.commit()
     print("done importing")
 
 
diff --git a/server.py b/server.py
index 844bc7977dee42e2ca0105174cdfe10167f117c0..ebc58a3291dce7694e36c51a6bd5a78e345c7bda 100755
--- a/server.py
+++ b/server.py
@@ -2,7 +2,7 @@
 import locale
 locale.setlocale(locale.LC_TIME, "de_DE.utf8")
 
-from flask import Flask, g, current_app, request, session, flash, redirect, url_for, abort, render_template, Response, send_file
+from flask import Flask, g, current_app, request, session, flash, redirect, url_for, abort, render_template, Response#, send_file
 from werkzeug.utils import secure_filename
 from flask_script import Manager, prompt
 from flask_migrate import Migrate, MigrateCommand
@@ -17,6 +17,7 @@ from io import StringIO, BytesIO
 import os
 from datetime import datetime
 import math
+import mimetypes
 
 import config
 from shared import db, date_filter, datetime_filter, date_filter_long, date_filter_short, time_filter, ldap_manager, security_manager, current_user, check_login, login_required, group_required, class_filter, needs_date_test, todostate_name_filter, code_filter, indent_tab_filter
@@ -24,7 +25,7 @@ from utils import is_past, mail_manager, url_manager, get_first_unused_int, set_
 from models.database import ProtocolType, Protocol, DefaultTOP, TOP, Document, Todo, Decision, MeetingReminder, Error, TodoMail, DecisionDocument, TodoState, Meta, DefaultMeta
 from views.forms import LoginForm, ProtocolTypeForm, DefaultTopForm, MeetingReminderForm, NewProtocolForm, DocumentUploadForm, KnownProtocolSourceUploadForm, NewProtocolSourceUploadForm, ProtocolForm, TopForm, SearchForm, NewProtocolFileUploadForm, NewTodoForm, TodoForm, TodoMailForm, DefaultMetaForm, MetaForm
 from views.tables import ProtocolsTable, ProtocolTypesTable, ProtocolTypeTable, DefaultTOPsTable, MeetingRemindersTable, ErrorsTable, TodosTable, DocumentsTable, DecisionsTable, TodoTable, ErrorTable, TodoMailsTable, DefaultMetasTable
-from legacy import import_old_todos, import_old_protocols
+from legacy import import_old_todos, import_old_protocols, import_old_todomails
 
 app = Flask(__name__)
 app.config.from_object(config)
@@ -90,8 +91,14 @@ def import_legacy():
         content = sqlfile.read().decode("utf-8")
         import_old_todos(content)
         import_old_protocols(content)
+        import_old_todomails(content)
     
-
+# cause uwsgi currently has a bug
+def send_file(file_like, cache_timeout, as_attachment, attachment_filename):
+    mimetype, _ = mimetypes.guess_type(attachment_filename)
+    response = Response(file_like.read(), mimetype)
+    response.headers["Content-Disposition"] = 'attachment; filename="{}"'.format(attachment_filename)
+    return response
 
 @app.route("/")
 def index():
@@ -979,6 +986,9 @@ def download_document(document_id):
             and not document.protocol.has_public_view_right(user))):
         flash("Keine Berechtigung.", "alert-error")
         return redirect(request.args.get("next") or url_for("index"))
+    #response = Response(document.as_file_like().read(), mimetype="application/pdf")
+    #response.headers["Content-Disposition"] = 'attachment; filename="{}"'.format(document.name)
+    #return response
     return send_file(document.as_file_like(), cache_timeout=1, as_attachment=True, attachment_filename=document.name)
 
 @app.route("/document/upload/<int:protocol_id>", methods=["POST"])