Put the link to the review inside the body instead of the signature.
Allow Gerrit to send email even in GWT hosted mode (the javax.mail.Session is apparently not necessary to create a MimeMessage).
diff --git a/src/main/java/com/google/gerrit/server/ChangeMail.java b/src/main/java/com/google/gerrit/server/ChangeMail.java
index 5c6e1ef..156eb4a 100644
--- a/src/main/java/com/google/gerrit/server/ChangeMail.java
+++ b/src/main/java/com/google/gerrit/server/ChangeMail.java
@@ -177,11 +177,15 @@
}
private void newChangeFooter() {
+ appendChangeRequestAndFooter();
+ }
+
+ private void appendChangeRequestAndFooter() {
if (changeUrl() != null) {
- openFooter();
- body.append("View this change at ");
+ body.append("To perform this review, please visit\n\n ");
body.append(changeUrl());
- body.append("\n");
+ body.append("\n\n");
+ openFooter();
}
}
@@ -292,12 +296,7 @@
return;
}
- if (changeUrl() != null) {
- openFooter();
- body.append("To respond visit ");
- body.append(changeUrl());
- body.append("\n");
- }
+ appendChangeRequestAndFooter();
initInReplyToChange();
commentTo();
@@ -320,12 +319,7 @@
body.append(change.getSubject());
body.append("\n\n");
- if (changeUrl() != null) {
- openFooter();
- body.append("To respond visit ");
- body.append(changeUrl());
- body.append("\n");
- }
+ appendChangeRequestAndFooter();
initInReplyToChange();
add(RecipientType.TO, reviewers);
@@ -594,26 +588,23 @@
}
private boolean begin(final String messageClass) throws MessagingException {
- if (transport != null) {
- msg = new MimeMessage(transport);
- if (message != null && message.getWrittenOn() != null) {
- msg.setSentDate(new Date(message.getWrittenOn().getTime()));
- } else {
- msg.setSentDate(new Date());
- }
- initFrom();
- initUserAgent();
- initListId();
- initChangeUrl();
- initChangeId();
- initCommitId();
- initMessageType(messageClass);
- initSubject();
- body = new StringBuilder();
- inFooter = false;
- return true;
+ msg = new MimeMessage(transport);
+ if (message != null && message.getWrittenOn() != null) {
+ msg.setSentDate(new Date(message.getWrittenOn().getTime()));
+ } else {
+ msg.setSentDate(new Date());
}
- return false;
+ initFrom();
+ initUserAgent();
+ initListId();
+ initChangeUrl();
+ initChangeId();
+ initCommitId();
+ initMessageType(messageClass);
+ initSubject();
+ body = new StringBuilder();
+ inFooter = false;
+ return true;
}
private void initFrom() throws MessagingException, AddressException {