theonedev/onedev · error · ExplicitException
This address is intended to open issues, however the message
Error message
This address is intended to open issues, however the message looks like a reply to some other email
What it means
The issue-creation email address is only for opening new issues. If the subject starts with 're:' (case-insensitive), the message is treated as a reply, which cannot create an issue, so OneDev rejects it with this ExplicitException.
Source
Thrown at server-core/src/main/java/io/onedev/server/mail/DefaultMailService.java:760
String messageId = getMessageId(message);
if (messageId != null) {
var existingIssue = issueService.findByMessageId(messageId);
if (existingIssue != null) {
logger.warn("Ignored opening issue from message as issue with same message id already exists: {}",
existingIssue.getReference());
return existingIssue;
}
}
Issue issue = new Issue();
issue.setProject(project);
try {
var subject = message.getSubject();
if (StringUtils.isBlank(subject)) {
throw new ExplicitException("Subject required to open issue via email");
} else if (subject.trim().toLowerCase().startsWith("re:")) {
throw new ExplicitException("This address is intended to open issues, " +
"however the message looks like a reply to some other email");
}
issue.setTitle(subject);
} catch (MessagingException e) {
throw new RuntimeException(e);
}
if (messageId != null)
issue.setMessageId(messageId);
String description = parseBody(message, project, issue.getUUID());
if (StringUtils.isNotBlank(description))
description = stripSignature(description);
if (StringUtils.isNotBlank(description))
issue.setDescription(decorateContent(description));
if (submitter == null) {
issue.setSubmitter(userService.getSystem());View on GitHub (pinned to d44925c47c)
Solutions
- Compose a new email to the issue address instead of replying to an existing thread
- Reply to issue notification emails using the issue's own reply address, not the issue-creation address
- Strip the 're:' prefix if the intent truly is a new issue (not recommended; retitled anyway)
- Configure mail clients/templates so replies go to notification addresses only
Example fix
// before To: project-issues@onedev.example Subject: Re: Fix login timeout // after To: project-issues@onedev.example Subject: Fix login timeout (fresh mail, not a reply)
Defensive patterns
Strategy: validation
Validate before calling
String subj = message.getSubject(); if (subj != null && subj.trim().toLowerCase().startsWith("re:")) { /* do not send to issues address */ } Try / catch
try { openIssueViaEmail(msg); } catch (ExplicitException e) { redirectReplyToIssueAddress(e); } Prevention
- Compose new mail rather than replying when creating issues
- Reply to notifications using their issue address, not the issues address
- Remove the issues address from notification reply-to headers
When it happens
Trigger: Replying (or a mail client threading a reply) to a notification using the project's issue-creation email address; subject begins with 're:', 'RE:', etc.
Common situations: User hits Reply instead of Reply-All/Compose-new on a notification that shows the issue address in Cc; mail client auto-addresses the reply to the issue-creation address; templates that always include the issues address.
Understand the failure class
Background: "Must be a positive integer", "Invalid value", "Unsupported": the invalid-argument-value error family, when a library rejects the value you pass — this error's family across 35 libraries.
Related errors
- Subject required to open issue via email
- Title is required
- Issue ${issueReference} is not in current project
- Invalid issue id/number
- Not eligible for multi-value
AI-assisted analysis of theonedev/onedev@d44925c47c (2026-09-06).
Data as JSON: /api/errors/1c55f40e7cffc667.
Report an issue: GitHub.