2014-08-04 1 views
1

Я пытаюсь создать собственный класс отправки электронной почты, и, похоже, у меня есть ошибка с моим MIME. Если кто-то может найти ошибку или рассказать мне о работе MIME Validator, я был бы очень признателен.Что случилось с моей многопользовательской/альтернативной электронной почтой?

Заранее спасибо JD

To: [email protected] 
Subject: Test Alternate 
X-PHP-Originating-Script: 1000:SendMail.class.php 
MIME-Version: 1.0 
From: [email protected] 
Content-Type: multipart/mixed; 
boundary="MultipartMail53dfa8ade817e" 
Message-Id: <[email protected]> 
Date: Mon, 4 Aug 2014 17:37:17 +0200 (CEST) 
X-RCPT-TO: <[email protected]> 
Status: 
X-UIDL: 706801872 
X-IMail-ThreadID: c9b40003d631c851 

--MultipartMail53dfa8ade817e 
Content-Type: multipart/alternative; 
boundary="Alternative53dfa8ade8378" 


--Alternative53dfa8ade8378 
Content-Type: text/html; charset=ISO-8859-1 
Content-Transfer-Encoding: 7bit 

Some Text content 


--Alternative53dfa8ade8378 
Content-Type: text/plain; charset=ISO-8859-1 
Content-Transfer-Encoding: 8bit 


Das ist Text 
-- 

Text 

*Some more Text* 
Text 



--Alternative53dfa8ade8378-- 

--MultipartMail53dfa8ade817e-- 
+0

«кажется, у меня есть ошибка с моим MIME» - Почему вы так думаете? – Quentin

+0

Я отправляю почту на свой адрес электронной почты, проверяя ее с помощью thunderbird, но не могу чередовать текст html и обычный текст. Я попытался отправить его из самого thunderbird с тем же контентом, и он работает, но я не вижу никакой разницы ... Поэтому я думаю, что что-то не так с форматом, и я не могу его найти –

ответ

2

Там несколько вещей, которые "неправильно" с электронной почтой:

Во-первых, у вас есть не-заголовок в заголовке вашего:

To: [email protected] 
*Test Alternate* 
X-PHP-Originating-Script: 1000:SendMail.class.php 

(* в районе разбитого бита)

Secondl y, (и, вероятно, ваша главная проблема с Thunderbird) заключается в том, что ваш многостраничный/альтернативный вариант имеет дочерние части в неправильном порядке. Способ, которым должен работать multipart/alternative, состоит в том, что последняя часть должна быть формой, которая ближе всего к тому, что должен был показать первоначальный автор сообщения, предназначенному для вас (IOW, что он видел в своем редакторе WYSIWYG).

TL; DR

Поместите text/html части последней и text/plain часть первой в multipart/alternative.

+0

Спасибо, переключая текст/plain и text/html сделали трюк, большое спасибо, я не думал, что позиционирование этих будет релевантным ... * Test Alternate *, похоже, является ошибкой копирования патчей, то есть Subject: line; -) –

+0

Рад, что помогло! – jstedfast

+0

Из http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html (см. 7.2.3 Многопозиционный/альтернативный подтип): '... В частности, каждая из частей является« альтернативной »версией той же информации. Пользовательские агенты должны понимать, что содержимое различных частей взаимозаменяемо. Пользовательский агент должен либо выбрать «лучший» тип, основанный на среде пользователя и предпочтениях, либо предоставить пользователю доступные альтернативы. В общем, выбор лучшего типа означает отображение только последней части, которая может отображаться. «Это делает заказ важным. – ufis

 Смежные вопросы

  • Нет связанных вопросов^_^