MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしまう
https://forums.mozillazine.jp/viewtopic.php?f=3&t=16684
ページ 11

作成者:  robbie [ 2017年6月21日(水) 14:48 ]
記事の件名:  VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしまう

アカウント設定の、「HTML形式でメッセージを編集する」のチェックを外している。
Ver52.1.0の場合は、テキスト形式の編集画面になる(本文のテキスト、プロポーショナルなどの指定ボタンが出てこない)
Ver52.2.0の場合は、HTML形式の編集画面になる(本文のテキスト、プロポーショナルなどの指定ボタンが出てくる)

Ver52.2.0で作成ボタンを押すと(新しいメッセージを作成すると)テキスト形式の編集画面になる

Ver52.2.0でテキスト形式の編集画面にする方法は有りますか?

作成者:  WADA [ 2017年6月21日(水) 15:12 ]
記事の件名:  Re: VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしま

robbie さんが書きました:
アカウント設定の、「HTML形式でメッセージを編集する」のチェックを外している。
Ver52.1.0の場合は、テキスト形式の編集画面になる(本文のテキスト、プロポーショナルなどの指定ボタンが出てこない)
Ver52.2.0の場合は、HTML形式の編集画面になる(本文のテキスト、プロポーショナルなどの指定ボタンが出てくる)

「VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしまう」という話だから、
メッセージのボディのテキストをHTMLのデータにしておいてVCからMAPISendmail、というケースかな?

「Ver52.1.0の場合は、テキスト形式の編集画面になる」ですが、
(A) テキストモードの編集画面になるのですか?
(アカウント設定の「HTML形式でメッセージを編集する」のチェックを外しておき、)
(作成ボタンを押して新しいメッセージを作成すると起動される編集画面)

それとも、(B) HTMLモードの編集画面において送信の形式を「テキストのみ」にしたもの、になるのですか?
(送信の形式を変えるオプションを設定することが可能)

以前は、(A) なのか(B) なのかは知りませんが、無条件に「テキスト形式での編集」にしていたが、
メッセージのボディのテキストをわざわざHTMLのデータにしてあった場合には、MAPISendmailの使用者の意図はHTMLでのメール送信であるはずだから、HTMLモードでコンポーザーを起動すべきである、
というような要求や判断から、
<html>があればHTMLモードで、<html>が無くてテキストのみならばテキストモードで、コンポーザーを起動する、
というような修正が作られています。
この修正が途中であたったように思えます。

メッセージのボディのテキストをHTMLのデータにしておいてVCからMAPISendmail、というケースで、
以前はテキストだったが、あるバージョンからHTMLになった、というのならば、
以前は、(B) HTMLモードの編集画面において送信の形式を「テキストのみ」にしたもの、にしておいて、無条件に「テキストメール」にしていたのかもしれません。

[追記]
以下のような変遷に思えます。
(1) 無条件に「テキストモード」での編集にしていた。
(2) メッセージボディにHTMLタグが書いてあると、
テキストモードで、HTMLのソースがメッセージのボディになるメールの編集、になってしまうので、
(B) HTMLモードの編集画面において送信の形式を「テキストのみ」にしたもの、
に変えて、HTMLタグの有無にかかわらず無条件に「テキストメール」にしていた。
(3) 無条件に「テキストメール」、は止めて、
HTMLのデータなら(<html>があれば、だと思う)「HTMLモード」、単なるテキストデータなら「テキストモード」、にした。
[追記おわり]

作成者:  robbieprise [ 2017年6月21日(水) 15:49 ]
記事の件名:  Re: VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしま

WADA様

返信ありがとうございます。

以前は(B)テキストモードの編集画面です。
設定している本文についてですが'\0'です。

テスト的に本文を指定したところ(テキストで)、以前と同様のテキストモードの編集画面になりました。

本文が無いとVer52.2.0からHTMLの編集画面が起動するようになってしまった様です。

作成者:  robbie [ 2017年6月21日(水) 16:10 ]
記事の件名:  Re: VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしま

すみません。

編集できないので、訂正です。

誤:以前は(B)テキストモードの編集画面
正:以前は(A)テキストモードの編集画面

作成者:  WADA [ 2017年6月21日(水) 16:49 ]
記事の件名:  Re: VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしま

robbieprise さんが書きました:
正:以前は(A)テキストモードの編集画面
設定している本文についてですが'\0'です。
テスト的に本文を指定したところ(テキストで)、以前と同様のテキストモードの編集画面になりました。

「\0」(ヌル文字)だけだと、テキストデータではない
⇒ HTMLモードでの編集になる
と言った感じですね。

ヌル文字がBody=...の終端を意味している場合には、長さがゼロのボディテキストはテキストデータではない、と判定するようになったのかもしれない。
でも、それだと、BodyText="";とかやっておいてMAPIの文字列を作ると、HTMLモードになってしまいそう。

Ver52.2.0で変わったとなると、<html>があるとHTMLモード、のような変更は、もっと前から入っていて、
パーサーあたりの変更で、「\0」(ヌル文字)しか「本文」が無いといった、一種異常な状況の時に、動きが少し変わったのかもしれないですね。

作成者:  robbie [ 2017年6月22日(木) 08:56 ]
記事の件名:  Re: VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしま

プログラムを修正すれば対応は可能ですがすぐには難しい状況です。

Thunderbirdの設定等で以前と同じ動作にできる方法が有れば教えてください。

作成者:  robbie [ 2017年6月22日(木) 09:15 ]
記事の件名:  Re: VCからMAPISendmailで起動した時にVer52.2.0から必ずHTML形式のメール編集画面になってしま

すみません。

もう一つ訂正です。

本文はNULL指定しています。

https://msdn.microsoft.com/ja-jp/library/windows/desktop/dd296732(v=vs.85).aspx

lpszNoteText = NULL;

です。

lpszNoteText = "";

と変更したところ、テキストモードの編集画面になりました。


ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/