multipart / mixed-mail. Viene con corpo vuoto. Cosa c'è che non va?
-
18-09-2019 - |
Domanda
inviando una mail:
From: <...>
X-Mailer: SnowBoss
Reply-To: <...>
X-Priority: 3 (Normal)
Message-ID: <248.20091210135259@snowman2010.com>
To: <...>
Subject: =?UTF-8?B?0JzQntCZIFNVQkpFQ1Q=?=
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----------A4D921C2D10D7DB"
This is a multi-part message in MIME format.
----------A4D921C2D10D7DB
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
MY TEXT
----------A4D921C2D10D7DB
Content-Type: text/html;
charset=utf-8
Content-Transfer-Encoding: 8bit
<html><b>BOLD</b></html>
----------A4D921C2D10D7DB
.
<250 Data received OK. //server response
e si tratta con corpo vuoto. Questo accade solo con i contenuti multipart/mixed
(multipart/alternative
provato - stessa storia)
Soluzione
Come detto Tomasz, la linea in cui si utilizza il confine, è necessario disporre di due trattino all'inizio del vostro separarator confine. Controllare quanto segue:
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="frontier"
This is a message with multiple parts in MIME format.
--frontier
Content-Type: text/plain
This is the body of the message.
--frontier
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg
Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
--frontier--
Si noti inoltre che l'ultimo confine, bisogna mettere altri due trattini per indicare che è la fine.
Esempio tratto da Wikipedia, vedi qui .
Altri suggerimenti
Credo che si può avere confini impostato sbagliato.
Il limite dovrebbe essere simile
Content-Type: multipart/alternative; boundary="--------A4D921C2D10D7DB"
che significa - contengono due meno '-' caratteri. Vedere la fonte di qualsiasi e-mail.
La posta fine di confine - d'altra parte - dovrebbe probabilmente apparire come
----------A4D921C2D10D7DB--
(di nuovo, vedere l'origine di qualsiasi messaggio di posta elettronica o leggere la RFC, naturalmente:.).)
vi incoraggio a usare exisitng classi mailer, come Swift Mailer o PHPMailer . Perché reinventare la ruota?
Credo che si intende la linea "Questo è un messaggio in più parti nel formato MIME." come il corpo nel frammento incollato del contenuto. Dipende dal client di posta elettronica se si rende il corpo o no, quando il tipo di contenuto è impostato come mimepart / alternatie o mimepart / mista. Le parti del corpo vengono visualizzati i miei quasi tutti i clienti.