diff options
author | Vitaly Takmazov | 2020-03-10 22:58:19 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2020-03-10 23:17:32 +0300 |
commit | eeb9da610d814b1b210366a456b3a0817d95a1af (patch) | |
tree | e3a0883a81bc2669fde48c5a156fa3d261ffec7d | |
parent | 218b0d9c42a924385bac552ebfff8fb9ab321247 (diff) |
mailto form of List-Unsubscribe header
-rw-r--r-- | src/main/java/com/juick/server/EmailManager.java | 5 | ||||
-rw-r--r-- | src/main/java/com/juick/server/api/Service.java | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/com/juick/server/EmailManager.java b/src/main/java/com/juick/server/EmailManager.java index 3939d706..768dd8de 100644 --- a/src/main/java/com/juick/server/EmailManager.java +++ b/src/main/java/com/juick/server/EmailManager.java @@ -185,8 +185,9 @@ public class EmailManager implements NotificationListener { message.setHeader("List-Post", "<mailto:juick@juick.com>"); message.setHeader("List-Owner", "<mailto:support@juick.com>"); message.setHeader("List-Archive", "<https://juick.com/>"); - message.setHeader("List-Unsubscribe", String.format("https://juick.com/settings/unsubscribe?hash=%s", - userService.getHashByUID(emailUser.getUid()))); + message.setHeader("List-Unsubscribe", + String.format("<mailto:unsubscribe@juick.com>,<https://juick.com/settings/unsubscribe?hash=%s>", + userService.getHashByUID(emailUser.getUid()))); message.setHeader("List-Unsubscribe-Post", "List-Unsubscribe=One-Click"); } message.saveChanges(); diff --git a/src/main/java/com/juick/server/api/Service.java b/src/main/java/com/juick/server/api/Service.java index 12a9167f..d056d9b0 100644 --- a/src/main/java/com/juick/server/api/Service.java +++ b/src/main/java/com/juick/server/api/Service.java @@ -23,6 +23,7 @@ import com.juick.model.CommandResult; import com.juick.server.CommandsManager; import com.juick.server.EmailManager; import com.juick.server.ServerManager; +import com.juick.server.util.HttpBadRequestException; import com.juick.server.util.HttpForbiddenException; import com.juick.service.EmailService; import com.juick.service.MessagesService; @@ -188,7 +189,9 @@ public class Service { User visitor = userService.getUserByEmail(from); if (!visitor.isAnonymous()) { - + if (!emailService.disableEmail(visitor, from)) { + throw new HttpBadRequestException(); + } } } else { throw new HttpForbiddenException(); |