1

MFMailComposeViewController を使用して、HTML とフォールバック プレーン テキスト バージョンの両方の電子メールを送信するにはどうすればよいですか? API には、メッセージ本文をいずれかまたは両方として設定する方法がありますが、両方を指定する方法はありません。他のアプリ (Doodle Jump など) でそれを行っているのを見たことがあるので、可能であるに違いありません。

4

3 に答える 3

1

コードと Google の両方でかなりの調査を行った結果、MFMailComposeViewController を介してこれを行うことはできないという結論に達しました。誰かに私が間違っていることを証明してもらいたいので、そうでないことがわかった場合は、喜んで回答に投票します.

于 2010-05-20T12:33:33.877 に答える
0

私はこれを試していないので、推測しかできません。

ドキュメントには、 setMessageBody:isHTML: への呼び出しが前の本文を置き換えると記載されています。ドキュメントが不安定な場合に備えて、1 つは isHTML:YES で、もう 1 つは NO で、2 つの呼び出しを試す価値があります。

境界が一定である場合 (そうであることを願っています)、それを行う方法は、それを HTML として送信し、プレーン テキスト部分を最後まで偽造することです。自分自身に HTML メールを 1 通または 3 通送信して、境界一定であることを確認し、それを取得する必要があります。次に追加

------=_NextPart_111_2222_11223344.aabbccdd
コンテンツ タイプ: テキスト/プレーン。
charset="iso-8859-1"
コンテンツ転送エンコーディング: 8bit
平文コンテンツ

NextPart のものを実際の境界に置き換えます。境界が一貫していない場合、私にはわかりません:-)試してみる価値はありますか?

于 2010-05-18T15:54:28.290 に答える
0

これは私がやっていることです。出力は問題ありません。画像を添付できません。それ以外の場合は、皆さんにお見せしたいと思います

 NSString *emailBody = @"<HTML><BODY><B>It is raining in sunny California!</B><table><tr><td>row1</td><td>row2</td></tr><tr><td>row3</td><td><b>row4</b></td></tr></table></BODY></HTML>";
    [picker setMessageBody:emailBody isHTML:YES];
于 2010-11-18T17:57:48.653 に答える