diff --git a/lib/galaxy/tools/errors.py b/lib/galaxy/tools/errors.py index da55ef82eaed..38ebccf5e3f2 100644 --- a/lib/galaxy/tools/errors.py +++ b/lib/galaxy/tools/errors.py @@ -253,6 +253,13 @@ def _send_report(self, user, email=None, message=None, **kwd): except Exception: pass + reply_to = user.email if user else None return util.send_mail( - self.app.config.email_from, to, subject, self.report, self.app.config, html=self.html_report + self.app.config.email_from, + to, + subject, + self.report, + self.app.config, + html=self.html_report, + reply_to=reply_to, ) diff --git a/lib/galaxy/util/__init__.py b/lib/galaxy/util/__init__.py index 20c113861ae1..0f954b3b700a 100644 --- a/lib/galaxy/util/__init__.py +++ b/lib/galaxy/util/__init__.py @@ -1506,7 +1506,7 @@ def size_to_bytes(size): raise ValueError(f"Unknown multiplier '{multiple}' in '{size}'") -def send_mail(frm, to, subject, body, config, html=None): +def send_mail(frm, to, subject, body, config, html=None, reply_to=None): """ Sends an email. @@ -1527,7 +1527,10 @@ def send_mail(frm, to, subject, body, config, html=None): :type html: str :param html: Alternative HTML representation of the body content. If - provided will convert the message to a MIMEMultipart. (Default 'None') + provided will convert the message to a MIMEMultipart. (Default None) + + :type reply_to: str + :param reply_to: Reply-to address (Default None) """ to = listify(to) @@ -1540,6 +1543,9 @@ def send_mail(frm, to, subject, body, config, html=None): msg["From"] = frm msg["Subject"] = subject + if reply_to: + msg["Reply-To"] = reply_to + if config.smtp_server is None: log.error("Mail is not configured for this Galaxy instance.") log.info(msg)