我正在从代码生成一个多部分的 mime 电子邮件。我使用的 mime 格式示例如下所示。这在大多数电子邮件客户端中显示得很好,但在 Mac 上的 Apple 电子邮件中,消息只会显示“此消息没有内容”。谁能解释为什么 Mac 上的 Mail 无法显示下面的消息?
非常感谢。
X-SYSTEM-Source: 0BC1ACEB-5527-42BF-A618-814EBB750F59
x-virtual-mta: zzzstandardmta
MIME-Version: 1.0
From: ScanTest <ScanTest@xxxxxx.com>
To: Jane Doe <janedoe@zzzzzz.com>
Date: 25 Jun 2014 15:42:26 +0100
Subject: Generic ScanTest Email
Content-Type: multipart/mixed; boundary=--mainboundary_67d1fe5e-6a7f-4c46-818d-9a33a6abddf1
Message-ID: <199999-19999908ies800000016@webserver.vvvvvvvvv.co.uk>
X-OriginalArrivalTime: 25 Jun 2014 14:42:26.0632 (UTC) FILETIME=[AEE3E480:01CF9083]
X-Original-To: janedoe@zzzzzz.com
X-Virus-Scanned: ClamAV using ClamSMTP
----mainboundary_67d1fe5e-6a7f-4c46-818d-9a33a6abddf1
Content-Type: multipart/alternative; boundary=--altboundary_67d1fe5e-6a7f-4c46-818d-9a33a6abddf1
----altboundary_67d1fe5e-6a7f-4c46-818d-9a33a6abddf1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
This is ScanTest from
Dear Jane<br /><br />This is a test email. Does it look ok?<br /><br />Here is some more blurb. One of the things about this text is that it is not in Latin. Here is some more blurb. One of the things about this text is that it is not in Latin. Here is some more blurb. One of the things about this text is that it is not in Latin. Here is some more blurb. One of the things about this text is that it is not in Latin.<br />Here is some more blurb. One of the things about this text is that it is not in Latin.<br />Here is some more blurb. One of the things about this text is that it is not in Latin<br /><br />Here is some more blurb. One of the things about this text is that it is not in Latin<br />Here is some more blurb. One of the things about this text is that it is not in Latin<br />Here is some more blurb. One of the things about this text is that it is not in Latin
Thanks from the team
----altboundary_67d1fe5e-6a7f-4c46-818d-9a33a6abddf1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSIgLz4NCiAgICA8dGl0bGU+U2NhblRlc3QgLSA8L3RpdGxlPg0KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJCTwhLS0NCgkJYm9keSB7DQoJCQljb2xvcjogIzMzMzMzMzsNCgkJCWZvbnQtZmFtaWx5OiBWZXJkYW5hLCBHZW5ldmEsIHNhbnMtc2VyaWY7DQoJCQlmb250LXNpemU6IDEycHg7DQoJCX0NCgkJYSB7DQoJCQlib3JkZXI6IDA7CQ0KCQl9DQoJCWEgaW1nIHsNCgkJCWJvcmRlcjogMDsJDQoJCX0NCgkJcCB7DQoJCQlwYWRkaW5nOiAwIDEwcHggMCAxMHB4Ow0KCQl9DQoJCWgxIHsNCgkJCXBhZGRpbmc6IDAgMTBweCAwIDEwcHg7DQoJCQlmb250LWZhbWlseTogVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmOw0KCQkJZm9udC1zaXplOiAyMHB4Ow0KCQkJY29sb3I6ICMzMzMzMzM7DQoJCQlsaW5lLWhlaWdodDogMTUwJTsNCgkJfQ0KCQlpbWcgew0KCQkJdmVydGljYWwtYWxpZ246IG1pZGRsZTsJDQoJCX0NCgkJLmNvbnRlbnQgew0KCQkJZm9udC1mYW1pbHk6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjsNCgkJCWZvbnQtc2l6ZTogMTJweDsNCgkJCWNvbG9yOiAjMzMzMzMzOwkNCgkJCWxpbmUtaGVpZ2h0OiAxNTAlOw0KCQl9DQoJCXAubG9nbyB7DQoJCQlwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KCQl9DQoJCXAuZm9vdGVyIHsNCgkJCXBhZGRpbmc6IDAgMTBweCAwIDEwcHg7DQoJCQlmb250LWZhbWlseTogVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmOw0KCQkJZm9udC1zaXplOiAxMHB4Ow0KCQkJY29sb3I6ICMzMzMzMzM7DQoJCQlsaW5lLWhlaWdodDogMTUwJTsNCgkJfQ0KCQlhOmxpbmssIGE6dmlzaXRlZCB7DQoJCQljb2xvcjogIzAwNjY5OTsNCgkJCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCgkJfQ0KCQlhOmhvdmVyIHsNCgkJCXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KCQl9DQoJCS50YWJsZS1ib3JkZXIgew0KCQkJYm9yZGVyOiAwOw0KCQkJcGFkZGluZzogMTBweCAwIDEwcHggMDsNCgkJfQ0KCQktLT4NCiAgICA8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQogICAgPHRhYmxlIHdpZHRoPSI2MDAiIGJvcmRlcj0iMCIgY2xhc3M9InRhYmxlLWJvcmRlciIgYWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4NCiAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIj4NCiAgICAgICAgICAgIAk8cD48aW1nIHNyYz0iaHR0cDovL3d3dy5hdG9taWNjcm0uY29tL0ltYWdlc2VydmVyL0xvZ28vU2NhblRlc3QiIC8+DQogICAgICAgICAgICAJPC9wPg0KICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+DQogICAgICAgICAgICAJPHAgY2xhc3M9ImxvZ28iPg0KICAgICAgICAgICAgICAgIAk8IS0tPGltZyBzcmM9Imh0dHA6Ly90cmFkZXNob3cubWt0cG9pbnQuY29tL0ltYWdlc2VydmVyL0xvZ28vW1tTaG93TG9nby5naWZdXSIgaGVpZ2h0PSI3NSIgIC8+LS0+DQoJCQkJPC9wPg0KICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJjb250ZW50Ij4NCiAgICAgICAgICAgICAgICA8aDE+VGhpcyBpcyBTY2FuVGVzdCBmcm9tIDwvaDE+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPHA+RGVhciBKYW5lPGJyIC8+PGJyIC8+VGhpcyBpcyBhIHRlc3QgZW1haWwuICBEb2VzIGl0IGxvb2sgb2s/PGJyIC8+PGJyIC8+SGVyZSBpcyBzb21lIG1vcmUgYmx1cmIuIE9uZSBvZiB0aGUgdGhpbmdzIGFib3V0IHRoaXMgdGV4dCBpcyB0aGF0IGl0IGlzIG5vdCBpbiBMYXRpbi4gSGVyZSBpcyBzb21lIG1vcmUgYmx1cmIuIE9uZSBvZiB0aGUgdGhpbmdzIGFib3V0IHRoaXMgdGV4dCBpcyB0aGF0IGl0IGlzIG5vdCBpbiBMYXRpbi4gSGVyZSBpcyBzb21lIG1vcmUgYmx1cmIuIE9uZSBvZiB0aGUgdGhpbmdzIGFib3V0IHRoaXMgdGV4dCBpcyB0aGF0IGl0IGlzIG5vdCBpbiBMYXRpbi4gSGVyZSBpcyBzb21lIG1vcmUgYmx1cmIuIE9uZSBvZiB0aGUgdGhpbmdzIGFib3V0IHRoaXMgdGV4dCBpcyB0aGF0IGl0IGlzIG5vdCBpbiBMYXRpbi48YnIgLz5IZXJlIGlzIHNvbWUgbW9yZSBibHVyYi4gT25lIG9mIHRoZSB0aGluZ3MgYWJvdXQgdGhpcyB0ZXh0IGlzIHRoYXQgaXQgaXMgbm90IGluIExhdGluLjxiciAvPkhlcmUgaXMgc29tZSBtb3JlIGJsdXJiLiBPbmUgb2YgdGhlIHRoaW5ncyBhYm91dCB0aGlzIHRleHQgaXMgdGhhdCBpdCBpcyBub3QgaW4gTGF0aW48YnIgLz48YnIgLz5IZXJlIGlzIHNvbWUgbW9yZSBibHVyYi4gT25lIG9mIHRoZSB0aGluZ3MgYWJvdXQgdGhpcyB0ZXh0IGlzIHRoYXQgaXQgaXMgbm90IGluIExhdGluPGJyIC8+SGVyZSBpcyBzb21lIG1vcmUgYmx1cmIuIE9uZSBvZiB0aGUgdGhpbmdzIGFib3V0IHRoaXMgdGV4dCBpcyB0aGF0IGl0IGlzIG5vdCBpbiBMYXRpbjxiciAvPkhlcmUgaXMgc29tZSBtb3JlIGJsdXJiLiBPbmUgb2YgdGhlIHRoaW5ncyBhYm91dCB0aGlzIHRleHQgaXMgdGhhdCBpdCBpcyBub3QgaW4gTGF0aW48L3A+DQoNCiAgICAgICAgICAgICAgICA8cD48L3A+DQoNCiAgICAgICAgICAgICAgICA8cD5UaGFua3MgZnJvbSB0aGUgdGVhbTwvcD4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDxociB3aWR0aD0iOTYlIiAvPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIAk8YnIgLz4NCiAgICAgICAgICAgICAgICANCg0KDQogICAgICAgICAgICA8L3RkPg0KICAgICAgICA8L3RyPg0KICAgIDwvdGFibGU+DQo8L2JvZHk+DQo8L2h0bWw+
----altboundary_67d1fe5e-6a7f-4c46-818d-9a33a6abddf1--
----mainboundary_67d1fe5e-6a7f-4c46-818d-9a33a6abddf1--