Index: src/wp-includes/class-phpmailer.php
===================================================================
--- src/wp-includes/class-phpmailer.php	(revision 29645)
+++ src/wp-includes/class-phpmailer.php	(working copy)
@@ -1667,6 +1667,7 @@
     public function getMailMIME()
     {
         $result = '';
+        $ismultipart = true;
         switch ($this->message_type) {
             case 'inline':
                 $result .= $this->headerLine('Content-Type', 'multipart/related;');
@@ -1687,11 +1688,20 @@
             default:
                 // Catches case 'plain': and case '':
                 $result .= $this->textLine('Content-Type: ' . $this->ContentType . '; charset=' . $this->CharSet);
+                $ismultipart = false;
                 break;
         }
         //RFC1341 part 5 says 7bit is assumed if not specified
         if ($this->Encoding != '7bit') {
-            $result .= $this->headerLine('Content-Transfer-Encoding', $this->Encoding);
+            //RFC 2045 section 6.4 says multipart MIME parts may only use 7bit, 8bit or binary CTE
+            if ($ismultipart) {
+                if ($this->Encoding == '8bit') {
+                    $result .= $this->headerLine('Content-Transfer-Encoding', '8bit');
+                }
+                //The only remaining alternatives are quoted-printable and base64, which are both 7bit compatible
+            } else {
+                $result .= $this->headerLine('Content-Transfer-Encoding', $this->Encoding);
+            }
         }
 
         if ($this->Mailer != 'mail') {
Index: tests/phpunit/tests/mail.php
===================================================================
--- tests/phpunit/tests/mail.php	(revision 29645)
+++ tests/phpunit/tests/mail.php	(working copy)
@@ -190,4 +190,38 @@
 		// Fatal errors
 		$this->assertFalse( wp_mail( 'invalid.address', 'subject', 'body', '', array() ) );
 	}
+
+	function wp_mail_quoted_printable( $mailer ) {
+		$mailer->Encoding = 'quoted-printable';
+	}
+
+	function wp_mail_set_text_message( $mailer ) {
+		$mailer->AltBody = 'Wörld';
+	}
+
+	/**
+	 * > If an entity is of type "multipart" the Content-Transfer-Encoding is
+	 * > not permitted to have any value other than "7bit", "8bit" or
+	 * > "binary".
+	 * http://tools.ietf.org/html/rfc2045#section-6.4
+	 *
+	 * > "Content-Transfer-Encoding: 7BIT" is assumed if the
+	 * > Content-Transfer-Encoding header field is not present.
+	 * http://tools.ietf.org/html/rfc2045#section-6.1
+	 *
+	 * @ticket 28039
+	 */
+	function test_wp_mail_content_transfer_encoding_in_quoted_printable_multipart() {
+		add_action( 'phpmailer_init', array( $this, 'wp_mail_quoted_printable' ) );
+		add_action( 'phpmailer_init', array( $this, 'wp_mail_set_text_message' ) );
+
+		wp_mail(
+			'user@example.com',
+			'Hello',
+			'<p><strong>Wörld</strong></p>',
+			'Content-Type: text/html'
+		);
+
+		$this->assertNotContains( 'quoted-printable', $GLOBALS['phpmailer']->mock_sent[0]['header'] );
+	}
 }
