[#8368] file serving and email handling improvements
diff --git a/ForgeFiles/forgefiles/files_main.py b/ForgeFiles/forgefiles/files_main.py
index 77ac147..184a834 100755
--- a/ForgeFiles/forgefiles/files_main.py
+++ b/ForgeFiles/forgefiles/files_main.py
@@ -309,24 +309,14 @@
             linked_file_object = UploadFiles.query.find({
                 'app_config_id': c.app.config._id, 'filename': filename, 'path': request_path, 'disabled': False,
             }).first()
-            upload_object = Upload.query.find({
-                '_id': linked_file_object.artifact_id, 'app_config_id': c.app.config._id,
-            }).first()
         else:
             linked_file_object = UploadFiles.query.find({
                 'app_config_id': c.app.config._id, 'linked_to_download': True, 'disabled': False,
             }).first()
-            if linked_file_object:
-                upload_object = Upload.query.find({
-                    '_id': linked_file_object.artifact_id, 'app_config_id': c.app.config._id,
-                }).first()
-            else:
-                upload_object = None
         if linked_file_object:
             try:
-                wrapper = upload_object.attachments[::-1]
-                from allura.lib.utils import serve_file
-                M.Mailbox.subscribe(type='direct')
+                if not c.user.is_anonymous():
+                    M.Mailbox.subscribe(type='direct')
                 return linked_file_object.serve(embed=False)
             except Exception as e:
                 log.exception('%s error to download the file', e)
@@ -401,12 +391,12 @@
                         remarks=remarks, folder_object=folder_object, project_owner=c.user,
                         domain=config.get('domain')
                     ))
-                    email_object = M.EmailAddress.get(claimed_by_user_id=i)
-                    if email_object:
+                    email_addr = user_object.get_pref('email_address')
+                    if email_addr:
                         mail_tasks.sendsimplemail.post(
                             fromaddr=g.noreply,
                             reply_to=g.noreply,
-                            toaddr=email_object.email,
+                            toaddr=email_addr,
                             subject='%s - %s Release Update' % (config.get('site_name'), c.project.name),
                             message_id=h.gen_message_id(),
                             text=text)