title: Is Content-Transfer-Encoding needed for multipart/alternative Content-Type?
body: <p>I have an app that sends e-mails and for many months, it was working fine. I recently had problems with <code>utf-8</code> encoded emails sent to iPhone <code>Exchange account</code> (i.e. not <code>IMAP</code>).<br />
  All the receiver had to see was a big bunch of meaningless characters like <code>LS0tLS0tPV9QYXJ0XzE0N18[....]</code>.</p>
  <p>Comparing my email headers with Gmail, I noticed that I had an extra <code>Content-Transfer-Encoding</code> associated with the <code>Content-Type: multipart/alternative;</code>.<br />
  My email would look like</p>
  <pre><code>Delivered-To: ...
  Received: ...
  ...
  MIME-Version: ...
  Content-Type: multipart/alternative; 
      boundary=&quot;----=_boundary&quot; 
  Content-Transfer-Encoding: Base64  # &lt;= the extra setting
  
  ----=_boundary
  Content-type: text/plain; charset=utf-8
  Content-Transfer-Encoding: Base64
  
  YmVu0Cg==
  
  ----=_boundary
  Content-type: text/html; charset=utf-8
  Content-Transfer-Encoding: Base64
  
  PGh0bWwgeG1sbnM6bz0iIj48aGVhZD48dGl0bGU+PC90aXRsZT48L2hlYWQ+PGJvZHk+YmVub2l0
  PC9ib2R5PjwvaHRtbD4NCjx9IjAiIC8+Cg==
  
  ----=_boundary
  </code></pre>
  <p>If I remove the extra setting, my email is received and display properly.</p>
  <p>My questions:</p>
  <ol>
  <li>Is the <code>Encoding</code> setting basically needed with <code>Content-Type: multipart/alternative;</code>, even for specific cases ?</li>
  <li>Is it safe to remove it and just keep using my app as I used to ?</li>
  </ol>
  <p><strong>Edit</strong>
  I found on <a href="https://www.rfc-editor.org/rfc/rfc2387#section-2" rel="nofollow noreferrer"><code>IETF</code></a>:</p>
  <blockquote>
  <p>Encoding considerations:   Multipart content-types cannot have encodings.</p>
  </blockquote>
  <p>But I also found on <a href="http://en.wikipedia.org/wiki/MIME#Multipart_messages" rel="nofollow noreferrer"><code>Wikipedia</code></a>:</p>
  <blockquote>
  <p>The content-transfer-encoding of a multipart type must always be
  &quot;7bit&quot;, &quot;8bit&quot; or &quot;binary&quot; to avoid the complications that would be
  posed by multiple levels of decoding.</p>
  </blockquote>
  <p>Isn't it contradictory ?</p>