はじめまして。
TNMSMTP.SendMailを使ってメールを送信したのですが、受信側(outlook express)では「西ヨーロッパ言語」として判断してしまうために文字化けします。そのため、メールを開いたあといちいちエンコードを「日本語」に変更しなくてはなりません。
最初からエンコードを「日本語」として認識させるためにはどうしらたよいでしょうか。
未確認ですが、C++Builderと同じものと思います。
http://www.borland.co.jp/qanda/cbuilder/c0005109.html
これでどうでしょう。
SendStartイベント時に
NMSMTP1.FinalHeader.Values['Content-Type'] := 'text/plain; charset="ISO-2022-JP"';
の一文を入れたのですが、"text/plain; charset=us-ascii"として送信されてしまうようです。
バージョンは何ですか?
Delphi5のTNMSMTPには、Charsetプロパティがあり、iso-2022-jpを入れればちゃんと機能します。
ただし、本文は自前でJISに変換しないとだめです。
Delphi6を使っています。
最初、オブジェクトインスペクタのCharsetプロパティにiso-2022-jpと入れて送信しました。しかしうまくいかなかったので、教えていただいたように、NMSMTP1.FinalHeader.Values['Content-Type'] := 'text/plain; charset="ISO-2022-JP"';
の1文をSetStartイベント時に加え送信したのですが、やっぱりcharset=us-asciiになってしまいます。
ツイート | ![]() |