diff --git a/aleksis/apps/postbuero/frontend/components/mail_domains/MailDomainCRUDList.vue b/aleksis/apps/postbuero/frontend/components/mail_domains/MailDomainCRUDList.vue
index 57d052172b9df50b5dbf04745a52e846a725010a..f80a32ad8f6c61cf3cfb4f4f4e47dc17fdc4ec30 100644
--- a/aleksis/apps/postbuero/frontend/components/mail_domains/MailDomainCRUDList.vue
+++ b/aleksis/apps/postbuero/frontend/components/mail_domains/MailDomainCRUDList.vue
@@ -116,7 +116,7 @@ export default {
       return item;
     },
     getDomainName(item) {
-      console.log('getDomainName', item);
+      console.log("getDomainName", item);
       return item.domain;
     },
   },
diff --git a/aleksis/apps/postbuero/frontend/messages/de.json b/aleksis/apps/postbuero/frontend/messages/de.json
index 7efd4b58825f810e3b3e20259586a9e6c3b01274..a300428b10fa8eb997ff37277cb7f18f10664428 100644
--- a/aleksis/apps/postbuero/frontend/messages/de.json
+++ b/aleksis/apps/postbuero/frontend/messages/de.json
@@ -1,35 +1,35 @@
 {
-    "postbuero": {
-        "mail_addresses": {
-            "menu_title": "E-Mail-Adressen verwalten",
-            "title_plural": "Verwalte eigene E-Mail-Adressen",
-            "data_table": {
-                "mail_address": "E-Mail-Adresse",
-                "domain": "Domäne",
-                "local_part": "Lokalteil",
-                "errors": {
-                    "local_part_invalid_characters": "Dieses Feld kann nur alphanumerische Zeichen und die folgenden enthalten: : .!#$%&'*+-/=?^_`{|}~",
-                    "local_part_disallowed": "Dieser Lokalteil ist nicht erlaubt."
-                }
-            },
-            "create": "Neue E-Mail-Adresse erstellen"
+  "postbuero": {
+    "mail_addresses": {
+      "menu_title": "E-Mail-Adressen verwalten",
+      "title_plural": "Verwalte eigene E-Mail-Adressen",
+      "data_table": {
+        "mail_address": "E-Mail-Adresse",
+        "domain": "Domäne",
+        "local_part": "Lokalteil",
+        "errors": {
+          "local_part_invalid_characters": "Dieses Feld kann nur alphanumerische Zeichen und die folgenden enthalten: : .!#$%&'*+-/=?^_`{|}~",
+          "local_part_disallowed": "Dieser Lokalteil ist nicht erlaubt."
+        }
+      },
+      "create": "Neue E-Mail-Adresse erstellen"
+    },
+    "mail_domains": {
+      "title_plural": "E-Mail-Domänen verwalten",
+      "data_table": {
+        "domain": "Domäne",
+        "is_public": "Öffentlich",
+        "filters": {
+          "show_all": "Alle anzeigen",
+          "only_public": "Nur öffentliche Domänen",
+          "only_non_public": "Nur nicht-öffentliche Domänen"
         },
-        "mail_domains": {
-            "title_plural": "E-Mail-Domänen verwalten",
-            "data_table": {
-                "domain": "Domäne",
-                "is_public": "Öffentlich",
-                "filters": {
-                    "show_all": "Alle anzeigen",
-                    "only_public": "Nur öffentliche Domänen",
-                    "only_non_public": "Nur nicht-öffentliche Domänen"
-                },
-                "errors": {
-                    "domain_invalid": "Dieses Feld ist verpflichtend und muss einen validen Domänennamen beinhalten."
-                }
-            },
-            "create": "Neue Mail-Domäne erstellen"
-        },
-        "menu_title": "E-Mails"
-    }
+        "errors": {
+          "domain_invalid": "Dieses Feld ist verpflichtend und muss einen validen Domänennamen beinhalten."
+        }
+      },
+      "create": "Neue Mail-Domäne erstellen"
+    },
+    "menu_title": "E-Mails"
+  }
 }
diff --git a/aleksis/apps/postbuero/schema.py b/aleksis/apps/postbuero/schema.py
index 27762b81383915d7cb3c8b55b071d38a5c0ba6f1..0fc7c5b8c140062e31354ac7a23bfc556fd80776 100644
--- a/aleksis/apps/postbuero/schema.py
+++ b/aleksis/apps/postbuero/schema.py
@@ -27,6 +27,11 @@ class MailAddressType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType)
         filter_fields = {"domain": ["in"]}
 
 
+class MailAddressInputType(graphene.InputObjectType):
+    local_part = graphene.String(required=True)
+    domain = graphene.ID(required=True)
+
+
 class MailDomainType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType):
     class Meta:
         model = MailDomain
@@ -50,7 +55,7 @@ class MailAddressBatchCreateMutation(BaseBatchCreateMutation):
         for address in input:
             domain = MailDomain.objects.get(id=address.domain)
             if has_person(info.context.user) and info.context.user.has_perm(
-                    "postbuero.can_use_domain_rule", domain
+                "postbuero.can_use_domain_rule", domain
             ):
                 return
             raise PermissionDenied()
@@ -82,9 +87,7 @@ class MailAddressBatchCreateMutation(BaseBatchCreateMutation):
             # Create activity
             act = Activity(
                 title=_("You have added an email address"),
-                description=_(
-                    f"You have added the email address {address} to your profile."
-                ),
+                description=_(f"You have added the email address {address} to your profile."),
                 app="Postbuero",
                 user=mail_context["person"],
             )
@@ -128,9 +131,13 @@ class Query(graphene.ObjectType):
 
     @staticmethod
     def resolve_mail_domains_for_user(root, info, **kwargs):
-        mail_domains = get_objects_for_user(
-            info.context.user, "postbuero.can_use_domain", MailDomain.objects.all()
-        ).union(MailDomain.objects.filter(is_public=True))
+        mail_domains = MailDomain.objects.filter(is_public=True)
+        if not info.context.user.is_anonymous:
+            mail_domains = mail_domains.union(
+                get_objects_for_user(
+                    info.context.user, "postbuero.can_use_domain", MailDomain.objects.all()
+                )
+            )
         return mail_domains
 
     @staticmethod