3

アプリケーションで MailKit を使用して、ユーザーに電子メールを送信しています。これらの電子メールには、多くの場合、Unicode または長いファイル名の添付ファイルが含まれています。Outlook (POP または IMAP を使用している場合) または Outlook Express などの一部の電子メール クライアントは RFC 2231 を処理できないため、添付ファイルに「無題の添付ファイル」という名前が付けられます。

添付ファイル名の RFC 2047 (エンコードされた単語) をサポートする (MailKit を使用して) メールを送信する方法はありますか? 可能な解決策は、content-disposition の filename に RFC 2231 を保持することですが、content-type のエンコードされた単語でエンコードされた名前パラメーターをフォールバックとして使用します。このようなものはサポートされていますか?

4

1 に答える 1

2

rfc2047 エンコーディングを使用するためのサポートを MimeKit に追加しました。

パラメータ値に使用されるエンコード方法を制御する方法が 2 つあります。

最初の方法は、各個人にエンコード方法を設定することParameterです:

param.EncodingMethod = ParameterEncodingMethod.Rfc2047;

FormatOptions2 番目の方法は、メッセージや MIME 部分を書き出すために使用されるデフォルトのパラメータ エンコーディング メソッドを設定することです。

var options = FormatOptions.Default.Clone ();
options.ParameterEncodingMethod = ParameterEncodingMethod.Rfc2047;

message.WriteTo (options, stream);

この機能を使用して、すぐに新しい MimeKit 1.3.0-beta3 を nuget にリリースしようとします。

于 2015-12-10T21:59:52.140 に答える