diff --git a/java/com/google/gitiles/doc/MarkdownToHtml.java b/java/com/google/gitiles/doc/MarkdownToHtml.java
index 8bcb919..ec10d47 100644
--- a/java/com/google/gitiles/doc/MarkdownToHtml.java
+++ b/java/com/google/gitiles/doc/MarkdownToHtml.java
@@ -394,7 +394,7 @@
 
   @VisibleForTesting
   String href(String target) {
-    if (target.startsWith("#") || HtmlBuilder.isValidHttpUri(target)) {
+    if (target.startsWith("#") || HtmlBuilder.isValidHttpUri(target) || HtmlBuilder.isValidMailtoUri(target)) {
       return target;
     } else if (target.startsWith("git:")) {
       if (HtmlBuilder.isValidGitUri(target)) {
diff --git a/java/com/google/gitiles/doc/html/HtmlBuilder.java b/java/com/google/gitiles/doc/html/HtmlBuilder.java
index 8235161..bf46bf1 100644
--- a/java/com/google/gitiles/doc/html/HtmlBuilder.java
+++ b/java/com/google/gitiles/doc/html/HtmlBuilder.java
@@ -105,6 +105,10 @@
         && URI.getValueFilter().matcher(val).find();
   }
 
+  public static boolean isValidMailtoUri(String val) {
+    return val.startsWith("mailto:") && URI.getValueFilter().matcher(val).find();
+  }
+
   /** Check if URL is valid for {@code <img src="data:image/*;base64,...">}. */
   public static boolean isImageDataUri(String url) {
     return IMAGE_DATA.getValueFilter().matcher(url).find();
