diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index a07a17d..7fb7d70 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -140,6 +140,7 @@ static void handle_multipart (EMsgComposer *composer, CamelMultipart *multipart,
 static void handle_multipart_alternative (EMsgComposer *composer, CamelMultipart *multipart, gint depth);
 static void handle_multipart_encrypted (EMsgComposer *composer, CamelMimePart *multipart, gint depth);
 static void handle_multipart_signed (EMsgComposer *composer, CamelMultipart *multipart, gint depth);
+gboolean check_blacklisted_file (gchar *filename);
 
 static EDestination**
 destination_list_to_vector_sized (GList *list, gint n)
@@ -3096,6 +3097,28 @@ add_recipients (GList *list, const gchar *recips)
 	return list;
 }
 
+static const gchar *blacklisted_files [] = {".", "etc", ".."};
+
+gboolean check_blacklisted_file (gchar *filename)
+{
+	gboolean blacklisted = FALSE;
+	gint i,j,len;
+	gchar **filename_part;
+
+	filename_part = g_strsplit (filename, G_DIR_SEPARATOR_S, -1);
+	len = g_strv_length(filename_part);
+	for(i = 0; !blacklisted && i < G_N_ELEMENTS(blacklisted_files); i++)
+	{
+		for(j = 0; !blacklisted && j<len; j++)
+			if(g_str_has_prefix(filename_part[j], blacklisted_files[i]))
+				blacklisted = TRUE;
+	}
+
+	g_strfreev(filename_part);
+	
+	return blacklisted;
+}
+
 static void
 handle_mailto (EMsgComposer *composer, const gchar *mailto)
 {
@@ -3187,6 +3210,11 @@ handle_mailto (EMsgComposer *composer, const gchar *mailto)
 				EAttachment *attachment;
 
 				camel_url_decode (content);
+				if(check_blacklisted_file(content))
+				{
+					g_warning("Mailto command is trying to attach blacklisted file: %s. The attachment may contain sensitive data. Kindly review it", content);
+					break;
+				}
 				if (g_ascii_strncasecmp (content, "file:", 5) == 0)
 					attachment = e_attachment_new_for_uri (content);
 				else
