- PR -

メール送信時のエンコード

1
投稿者投稿内容
まめぞう
常連さん
会議室デビュー日: 2007/02/09
投稿数: 21
投稿日時: 2007-02-09 15:15
vs2005 Professional Edition
.NET(2.0) C# で開発をしています。

System.Net.Mail.SmtpClientを使用して
テキストファイルの内容を読み込んから
その読み込んだ内容を件名や本文として、
SmtpClient.Send()メソッドでメール送信を行っています。

送信したメールをMicrosoft Outlook Express 6 で受信したところ
件名が文字化けしてしまいます。本文は、問題ありませんでした。

送信内容が書かれているテキストファイルは、SJISとして保存しています。
テキストファイルからの読み込み字は、SJISでエンコードし
送信時には、JISでエンコードしています。

そこで、送信時には、UTF-8でエンコードすると
今のところ文字化けせずにうまくいっています。
UTF-8でエンコードするで、問題ないでしょうか?

メール送信は、JISで行われていることから
JISでエンコードすれば問題ないと思っていたのですが…

一般的なエンコードの方法をご教授ねがいます。
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2007-02-09 15:38
引用:

未記入さんの書き込み (2007-02-09 15:15) より:

System.Net.Mail.SmtpClientを使用して
テキストファイルの内容を読み込んから
その読み込んだ内容を件名や本文として、
SmtpClient.Send()メソッドでメール送信を行っています。

送信したメールをMicrosoft Outlook Express 6 で受信したところ
件名が文字化けしてしまいます。本文は、問題ありませんでした。


これはエンコードは関係なくて、System.Net.Mail の既知の問題だと思
います。

おがわみつぎさんがこの件について色々とやられていたようなのですが…
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=264603&SiteID=7
http://vsug.jp/tabid/63/forumid/51/postid/2870/view/topic/Default.aspx

解決策のリンクがエラーになってしまっているので、どうやって解決したの
かはわかりません ○| ̄|_

VSUG のスレッドで言われているように自分で SMTP を叩いてゴニョゴニ
ョする方法もありますが、中博俊さんの作られた Wankuma.Net.Mail を
使うという手もあります(というかこっちの方が素直かな)。
http://naka.wankuma.com/site/library/dotnet2.0/net/mail/
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
まめぞう
常連さん
会議室デビュー日: 2007/02/09
投稿数: 21
投稿日時: 2007-02-09 19:13
引用:

ぽぴ王子さんの書き込み (2007-02-09 15:38) より:

VSUG のスレッドで言われているように自分で SMTP を叩いてゴニョゴニ
ョする方法もありますが、中博俊さんの作られた Wankuma.Net.Mail を
使うという手もあります(というかこっちの方が素直かな)。
http://naka.wankuma.com/site/library/dotnet2.0/net/mail/




ぽぴ王子さん、ありがとうございました。

試しにWankuma.Net.Mail を使用してみましたが
サポートされていないメソッドがあり
移植できませんでした。

UTF-8でエンコードすることで問題ないか
調べてみることにします。
おがわみつぎ
会議室デビュー日: 2007/02/23
投稿数: 1
投稿日時: 2007-02-23 06:47
呼びました?
http://blogs.sqlpassj.org/mitsugi/archive/2007/02/04/20604.aspx
からだどって見てください。
ただし、Content-Transfer-Encoding: 7bit にするには
http://support.microsoft.com/KB/927858
の QFE を入手してくださいね。
oba
会議室デビュー日: 2005/05/09
投稿数: 13
投稿日時: 2007-02-24 16:18
先ほど、私もこの問題にあたってしまい、
本文は
MailMessage.BodyEncodingでエンコードしていたので
もしやと思い、件名(Subject)も
エンコードするメソッドがあるのかと思って調べたところ

MailMessage.SubjectEncoding
でエンコードできました。

まだまだ難しいことは分からないので詳しいことは分かりませんが
参考になれば幸いです。
1

スキルアップ/キャリアアップ(JOB@IT)