diff --git a/src/main/java/org/olat/course/nodes/members/MembersCourseNodeRunController.java b/src/main/java/org/olat/course/nodes/members/MembersCourseNodeRunController.java
index e4a7147afcd0a37d5ff0776dad986dc7d4aa0393..8e69a22102c005f4ba86385cf024485c8f102315 100644
--- a/src/main/java/org/olat/course/nodes/members/MembersCourseNodeRunController.java
+++ b/src/main/java/org/olat/course/nodes/members/MembersCourseNodeRunController.java
@@ -52,6 +52,7 @@ import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController;
 import org.olat.core.gui.media.MediaResource;
+import org.olat.core.helpers.Settings;
 import org.olat.core.id.Identity;
 import org.olat.core.id.User;
 import org.olat.core.id.UserConstants;
@@ -375,7 +376,7 @@ public class MembersCourseNodeRunController extends FormBasicController {
 		removeAsListenerAndDispose(cmc);
 		removeAsListenerAndDispose(mailCtrl);
 		
-		mailCtrl = new MembersMailController(ureq, getWindowControl(), courseEnv, ownerList, coachList, participantList);
+		mailCtrl = new MembersMailController(ureq, getWindowControl(), courseEnv, ownerList, coachList, participantList, createBodyTemplate());
 		listenTo(mailCtrl);
 		
 		String title = translate("members.email.title");
@@ -405,7 +406,8 @@ public class MembersCourseNodeRunController extends FormBasicController {
 			
 			ContactMessage cmsg = new ContactMessage(ureq.getIdentity());
 			cmsg.addEmailTo(contactList);
-			
+			// preset body template from i18n
+			cmsg.setBodyText(createBodyTemplate());
 			emailController = new ContactFormController(ureq, getWindowControl(), true, false, false, cmsg);
 			listenTo(emailController);
 			
@@ -416,6 +418,16 @@ public class MembersCourseNodeRunController extends FormBasicController {
 		}
 	}
 	
+	private String createBodyTemplate() {
+		String courseName = courseEnv.getCourseTitle();
+		// Build REST URL to course element, use hack via group manager to access repo entry
+		StringBuilder courseLink = new StringBuilder();
+		RepositoryEntry entry = courseEnv.getCourseGroupManager().getCourseEntry();
+		courseLink.append(Settings.getServerContextPathURI())
+			.append("/url/RepositoryEntry/").append(entry.getKey());
+		return translate("email.body.template", new String[]{courseName, courseLink.toString()});		
+	}
+	
 	protected void doOpenHomePage(Member member, UserRequest ureq) {
 		String url = "[HomePage:" + member.getKey() + "]";
 		BusinessControl bc = BusinessControlFactory.getInstance().createFromString(url);
diff --git a/src/main/java/org/olat/course/nodes/members/MembersMailController.java b/src/main/java/org/olat/course/nodes/members/MembersMailController.java
index 860c44ab5cef83c41bec8b79ea01ef1ccaf54ccd..7c6f45413ab1e1431b17ae7418f94cc177cd280c 100644
--- a/src/main/java/org/olat/course/nodes/members/MembersMailController.java
+++ b/src/main/java/org/olat/course/nodes/members/MembersMailController.java
@@ -110,7 +110,7 @@ public class MembersMailController extends FormBasicController {
 	private RepositoryService repositoryService;
 	
 	public MembersMailController(UserRequest ureq, WindowControl wControl, CourseEnvironment courseEnv,
-			List<Member> ownerList, List<Member> coachList, List<Member> participantList) {
+			List<Member> ownerList, List<Member> coachList, List<Member> participantList, String bodyTemplate) {
 		super(ureq, wControl, Util.createPackageTranslator(MailHelper.class, ureq.getLocale()));
 		
 		this.courseEnv = courseEnv;
@@ -119,6 +119,11 @@ public class MembersMailController extends FormBasicController {
 		this.participantList = participantList;
 		this.contactAttachmentMaxSizeInMb = mailModule.getMaxSizeForAttachement();
 		initForm(ureq);
+		
+		// preset body template if set
+		if (StringHelper.containsNonWhitespace(bodyTemplate)) {
+			bodyEl.setValue(bodyTemplate);			
+		}
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_de.properties
index 18c0091b99084eda50418f5379fa89054c694d4d..7a560fbe4e51ecdf4aa350dec8796c8ae54f7942 100644
--- a/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_de.properties
@@ -13,6 +13,7 @@ owners=Kursbesitzer
 coaches=Kursbetreuer
 participants=Kursteilnehmer
 contact.external.list.example=xyz@olat.com, abc@frentix.com<br/>user@yourcompany.ch
+email.body.template=<p /><p /><p>Link zum Kurs <strong>{0}</strong>:<br /><a href='{1}'>{1}</a></p>
 email.from=Von
 email.send=Schicken
 email.function=Emailfunktion
diff --git a/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_en.properties
index a1669cb1d0cbdc23b3a6e05ac8102e69a8614cef..2e9a8ab96c75cbbed13d24edb641c945f5f4bbc9 100644
--- a/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_en.properties
@@ -13,6 +13,7 @@ contact.external.list.example=xyz@olat.com, abc@frentix.com<br/>user@yourcompany
 owners=Course owners
 coaches=Course coaches
 participants=Course participants
+email.body.template=<p /><p /><p>Link to course <strong>{0}</strong>:<br /><a href='{1}'>{1}</a></p>
 email.from=From
 email.send=Send
 email.function=E-mail function