diff --git a/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.html b/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.html
index 3dde3c87c2d63e0f092e9660baf95f3de456a207..d0a2061b1db17c71f59ef3b3334a3e4312e8785d 100644
--- a/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.html
+++ b/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.html
@@ -1,5 +1,5 @@
 <div mat-dialog-content>
-  <h2 class="oldtypo-h2" tabindex="0">{{'header.bonus-token' | translate }}</h2>
+  <h2 class="oldtypo-h2" tabindex="0">{{'user-bonus-token.header' | translate }}</h2>
   <mat-divider></mat-divider>
   <div *ngIf="bonusTokensMixin.length >= 1">
     <div fxLayout="column" class="tokens" *ngFor="let bonusToken of bonusTokensMixin; let i = index"
@@ -7,9 +7,27 @@
       <h2 class="token" tabindex="1">{{bonusToken.token}}</h2>
       <h2 class="roomName">(&raquo;{{bonusToken.roomName}}&laquo;)</h2>
     </div>
+    <mat-divider></mat-divider>
+    <div fxLayout="column">
+      <form class="example-form">
+        <mat-form-field class="example-full-width">
+          <mat-label>{{ 'user-bonus-token.choose-session' | translate }}</mat-label>
+          <input type="text" matInput [matAutocomplete]="auto">
+          <mat-autocomplete #auto="matAutocomplete">
+            <mat-option *ngFor="let bt of bonusTokensMixin" [value]="bt.roomName" (onSelectionChange)="setCurrentRoom(bt)">
+              {{bt.roomName}}
+            </mat-option>
+          </mat-autocomplete>
+        </mat-form-field>
+        <button mat-flat-button class="mailto" (click)="openMail()">
+          <mat-icon>email</mat-icon>
+          {{ 'user-bonus-token.redeem-tokens' | translate }}
+        </button>
+      </form>
+    </div>
   </div>
   <div *ngIf="bonusTokens.length === 0">
-    <h3 class="oldtypo-h3" tabindex="0">{{'header.no-bonus' | translate }}</h3>
+    <h3 class="oldtypo-h3" tabindex="0">{{'user-bonus-token.no-bonus' | translate }}</h3>
   </div>
   <app-dialog-action-buttons
     buttonsLabelSection="introduction"
diff --git a/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.scss b/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.scss
index 33b5a8f04d0294dcb2abc8bcb18ac3339086fa80..89af3b00004e85795e3f630a554e27145949ea65 100644
--- a/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.scss
+++ b/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.scss
@@ -15,3 +15,13 @@
 h2 {
   text-align: center;
 }
+
+.mailto {
+  background-color: var(--primary);
+  color: var(--on-primary);
+}
+
+form {
+  margin: 10px 0;
+  text-align: center;
+}
diff --git a/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.ts b/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.ts
index 49f3bd5274e0f47ea43e2a6cebe8935411f61da6..19fdfedc4324c6a8b3e84d90f03fc9cf7cd5d2f3 100644
--- a/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.ts
+++ b/src/app/components/participant/_dialogs/user-bonus-token/user-bonus-token.component.ts
@@ -5,6 +5,7 @@ import { BonusToken } from '../../../../models/bonus-token';
 import { BonusTokenRoomMixin } from '../../../../models/bonus-token-room-mixin';
 import { MatDialogRef } from '@angular/material';
 import { Router } from '@angular/router';
+import { TranslateService } from '@ngx-translate/core';
 
 @Component({
   selector: 'app-user-bonus-token',
@@ -15,12 +16,14 @@ export class UserBonusTokenComponent implements OnInit {
   userId: string;
   bonusTokens: BonusToken[] = [];
   bonusTokensMixin: BonusTokenRoomMixin[] = [];
+  currentBT: BonusTokenRoomMixin;
 
   constructor(
     private bonusTokenService: BonusTokenService,
     private roomService: RoomService,
     private dialogRef: MatDialogRef<UserBonusTokenComponent>,
-    protected router: Router
+    protected router: Router,
+    public translationService: TranslateService
   ) {
   }
 
@@ -46,6 +49,34 @@ export class UserBonusTokenComponent implements OnInit {
     this.router.navigate([commentURL]);
   }
 
+  getTokensByRoom(shortId: string): string {
+    let tokens = '';
+    for (const bt of this.bonusTokensMixin) {
+      if (bt.roomShortId === shortId) {
+        tokens += bt.token + '%0D%0A%0D%0A';
+      }
+    }
+    return tokens;
+  }
+
+  setCurrentRoom(bt: BonusTokenRoomMixin) {
+    this.currentBT = bt;
+  }
+
+  openMail() {
+    const sessionName = this.currentBT.roomName;
+    const sessionId = this.currentBT.roomShortId;
+    const translationList = ['user-bonus-token.mail-subject', 'user-bonus-token.mail-body-1', 'user-bonus-token.mail-body-2',
+      'user-bonus-token.mail-body-3', 'user-bonus-token.mail-body-4'];
+    let mailText: string;
+    this.translationService.get(translationList).subscribe(msgs => {
+      console.log(msgs);
+      mailText = 'mailto:?subject=' + msgs[translationList[0]] + sessionName + '%C2%AB&body=' + msgs[translationList[1]] + sessionName
+      + msgs[translationList[2]] + sessionId + msgs[translationList[3]] + this.getTokensByRoom(sessionId) + msgs[translationList[4]];
+      window.location.href = mailText;
+    });
+  }
+
   /**
    * Returns a lambda which closes the dialog on call.
    */
diff --git a/src/assets/i18n/home/de.json b/src/assets/i18n/home/de.json
index 338f4264f838d1e0874dfe0d468572a433b25d1e..fd1bff65d0aa8deae0a7e29f9499ff45213598b6 100644
--- a/src/assets/i18n/home/de.json
+++ b/src/assets/i18n/home/de.json
@@ -63,9 +63,7 @@
     "sure": "Bist du sicher?",
     "user-bonus-token": "Zu deinen Bonus Tokens",
     "user-got-tokens": "Du hast noch Tokens für Bonuspunkte, die verloren gehen!",
-    "visited-sessions": "Besuchte Sitzungen",
-    "bonus-token": "Tokens für Bonuspunkte",
-    "no-bonus": "Noch keine Bonuspunkte erhalten."
+    "visited-sessions": "Besuchte Sitzungen"
   },
   "help": {
     "cancel": "Schließen",
@@ -241,7 +239,15 @@
     "cancel-description": "Abbrechen"
   },
   "user-bonus-token": {
-    "header": "Tokens für Bonuspunkte"
+    "header": "Tokens für Bonuspunkte",
+    "no-bonus": "Noch keine Bonuspunkte erhalten.",
+    "redeem-tokens": "Tokens einlösen",
+    "mail-subject": "Bitte%20um%20Einl%C3%B6sung%20meiner%20Tokens%20aus%20der%20%C2%BBfrag.jetzt%C2%AB-Sitzung%20%C2%BB",
+    "mail-body-1": "Hallo%2C%0D%0A%0D%0Aich%20habe%20heute%20in%20der%20%C2%BBfrag.jetzt%C2%AB-Sitzung%20%C2%BB",
+    "mail-body-2": "%C2%AB%20mit%20dem%20Sitzungs-Code%20%C2%BB",
+    "mail-body-3": "%C2%AB%20die%20folgenden%20Tokens%20erhalten%3A%0D%0A%0D%0A",
+    "mail-body-4": "%0D%0A%0D%0AIch%20bitte%20um%20die%20Einl%C3%B6sung%20in%20Bonuspunkte.%0D%0A%0D%0ADanke%20f%C3%BCr%20%C2%BBfrag.jetzt%C2%AB!%0D%0A%0D%0A---",
+    "choose-session": "Wähle eine Sitzung aus"
   },
   "qr-dialog": {
     "session": "Sitzung"
diff --git a/src/assets/i18n/home/en.json b/src/assets/i18n/home/en.json
index 5af8e3f9519aa715e66107422d904758ea6d564a..575c9812863d66f4b4d30373ccd91e6655a739dc 100644
--- a/src/assets/i18n/home/en.json
+++ b/src/assets/i18n/home/en.json
@@ -64,9 +64,7 @@
     "sure": "Are you sure?",
     "user-bonus-token": "See your bonus tokens",
     "user-got-tokens": "You have bonus tokens linked to this account that will be lost!",
-    "visited-sessions": "Visited sessions",
-    "bonus-token": "Tokens for bonus points",
-    "no-bonus": "No bonus points earned yet."
+    "visited-sessions": "Visited sessions"
   },
   "help": {
     "cancel": "Close",
@@ -241,8 +239,16 @@
     "cancel": "Cancel",
     "cancel-description": "Cancel"
   },
-  "user-bonus-token-dialog": {
-    "header": "Tokens for bonus points"
+  "user-bonus-token": {
+    "header": "Tokens for bonus points",
+    "no-bonus": "No bonus points earned yet.",
+    "redeem-tokens": "Redeem tokens",
+    "mail-subject": "Request%20to%20redeem%20my%20tokens%20from%20the%20%C2%BBfrag.jetzt%C2%AB-session%20%C2%BB",
+    "mail-body-1": "Hello%2C%0D%0A%0D%0Ai%20have%20received%20the%20following%20tokens%20today%20in%20the%20%C2%BBfrag.jetzt%C2%AB-session%20%C2%BB",
+    "mail-body-2": "%C2%AB%20with%20the%20session%20code%20%C2%BB",
+    "mail-body-3": "%C2%AB%3A%0D%0A%0D%0A",
+    "mail-body-4": "%0D%0A%0D%0AI%20ask%20for%20the%20redemption%20in%20bonus%20points.%0D%0A%0D%0AThanks%20for%20%C2%BBfrag.jetzt%C2%AB!%0D%0A%0D%0A---",
+    "choose-session": "Choose a session"
   },
   "qr-dialog": {
     "session": "Session"