2

メールを送信する:

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

空のボディが付属しています。これはコンテンツでのみ発生しmultipart/mixedます(試行済みmultipart/alternative- 同じストーリー)

4

3 に答える 3

5

Tomasz が述べたように、境界を使用している行では、境界セパレーターの先頭に 2 つのハイフンが必要です。以下を確認してください。

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--

また、最後の境界では、それが終わりであることを示すために、さらに 2 つのハイフンを配置する必要があることに注意してください。

ウィキペディアから引用した例は、こちらを参照してください。

于 2009-12-10T12:03:52.420 に答える
3

境界設定が間違っている可能性があると思います。

境界は次のようになります

Content-Type: multipart/alternative; boundary="--------A4D921C2D10D7DB"

意味 - 「-」文字が 2 つ少ない。メールの送信元を確認します。

一方、メールの終了境界は、おそらく次のようになります。

----------A4D921C2D10D7DB--

(繰り返しになりますが、メール メッセージのソースを参照してください。または、もちろん RFC を読んでください:))。

Swift MailerPHPMailerなどの既存のメーラー クラスを使用することをお勧めします。なぜ車輪を再発明するのですか?

于 2009-12-10T11:57:05.597 に答える
1

「これは MIME 形式のマルチパート メッセージです」という行を意味していたと思います。コンテンツの貼り付けられたスニペットの本文として。コンテンツ タイプが mimepart/alternatie または mimepart/mixed に設定されている場合、本文をレンダリングするかどうかは、電子メール クライアントによって異なります。体の部分は私のほとんどすべてのクライアントに表示されます。

于 2012-05-29T11:56:59.927 に答える