Email Diff service sends html emails as text (on error) (BB-737)

Leonardo Santagada avatarLeonardo Santagada created an issue

Email Diff is sending me html as if they were text, so the end result is a text email with a html file as its body, and it is unreadable. Both gmail webmail and on leopard show the message as pure text.

Here is one of the messages:

Received: by with SMTP id 14cs290021hbt;
        Sun, 6 Sep 2009 12:59:56 -0700 (PDT)
Received: by with SMTP id y26mr19139217vci.51.1252267194785;
        Sun, 06 Sep 2009 12:59:54 -0700 (PDT)
Return-Path: <>
Received: from ( [])
        by with ESMTP id 2si3981592vws.19.2009.;
        Sun, 06 Sep 2009 12:59:54 -0700 (PDT)
Received-SPF: pass ( domain of designates as permitted sender) client-ip=;
Authentication-Results:; spf=pass ( domain of designates as permitted sender)
Received: from domU-12-31-39-00-95-01.compute-1.internal (localhost.localdomain [])
	by (Postfix) with ESMTP id C1A0D7110A
	for <>; Sun,  6 Sep 2009 19:59:53 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: pyweek9 commit 0235415c9911: Added new sprites. Added random
	behaviour for birds.
Message-Id: <>
Date: Sun,  6 Sep 2009 19:59:53 +0000 (UTC)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
<html xmlns="" xml:lang="en">
	Error &mdash;
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="description" content="Mercurial hosting - we're here to serve." />
	<meta name="keywords" content="mercurial,hg,hosting,bitbucket," />
	<link rel="stylesheet" type="text/css" href="" />
	<link rel="stylesheet" type="text/css" href="" media="print" />
	<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Bitbucket" />
	<link rel="icon" href="" type="image/png"/>
	<script type="text/javascript" src=""></script>
	<script type="text/javascript">
		$(document).ready(function() {
		<style type="text/css">
			.dropdown-container-text .dropdown {
				position: static !important;

	<!--[if lt IE 7]>
	<style type="text/css">
	body {
		behavior: url(;
	#issues-issue pre {
		white-space: normal !important;
	.changeset-description {
		white-space: normal !important;
	<script type="text/javascript"> 
<body class="">
	<div id="main-wrapper">
		<div id="header-wrapper">
			<div id="header">
				<a href="/"><img src="" alt="Bitbucket" id="header-wrapper-logo" /></a>
					<div id="header-nav">
						<div id="header-nav-login-forms">
							<form action="/account/signin/" method="post">
									<input id="id_username_header" type="text" class="required login" name="username" value="username" maxlength="30" onfocus="if(this.value=='username'){this.value='';}; $(this).addClass('normaltext');" /> <input id="id_password_header" type="password" class="required login" name="password" value="password" maxlength="128" onfocus="if(this.value=='password'){this.value='';}; $(this).addClass('normaltext');" /> <input type="submit" name="blogin" value="&raquo;" style="display:none;" />
									<input type="hidden" name="next" value=""/>
							<form name="fopenid" action="/account/signin/" method="post">
									<input id="id_openid_url" type="text" class="required openid" name="openid_url" maxlength="255" value="your OpenID URL" onfocus="if(this.value=='your OpenID URL'){this.value='';}; $(this).addClass('normaltext');" /> <input name="bsignin" type="submit" value="&raquo;" style="display: none;" />
									<input type="hidden" name="next" value="" />
						<ul class="right">
							<li><a href="/">Home</a></li>
							<li><a href="/plans/"><b>Plans &amp; Signup</b></a></li>
							<li><a href="/repo/all/">Repositories</a></li>
							<li><a href="/news/">News</a></li>
							<li><a href="/help/">Help</a></li>
							<li><a href="/account/signin/">Login</a></li>
		<div id="content-wrapper">


	<div class="container">

	You do not have access to this repository.


			<div class="cb"></div>
		<div class="cb footer-placeholder"></div>
	<div id="footer-wrapper">
		<div id="footer">
			<a href="/site/terms/">Terms of Service</a> | <a href="/site/privacy/">Privacy Policy</a> | <a href="">Blog</a> | <a href="">Report Bug</a> | <a href="">Discuss</a> | <a href="">&copy; 2008-2009</a>
			| We run <small><b>
				<a href="">Django </a> / 
				<a href="">Piston </a> / 
				<a href="">Hg </a> / 
				<a href="">Python </a> /
	<script type="text/javascript">
	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	document.write(unescape("%3Cscript src='" + gaJsHost + "' type='text/javascript'%3E%3C/script%3E"));
	<script type="text/javascript">
	var pt = _gat._getTracker("UA-2456069-3");

Comments (5)

  1. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.