HTML形式のメール本文を変数に格納したの改行について

HTML形式のMailMessageのBodyをString型の変数に格納した際に、
メール本文の改行のたびに追加で改行が入ってしまいます。
回避不法等あればご教授いただけませんでしょうか。

また、テキスト形式のMailMessageのBodyをString型の変数に格納した際は改行のたびに改行が入ることは起きません。

こんにちは

isBodyHtml でHTMLメールかどうかの判別をして、HTMLメールなら例えば

mail.Body.Replace(vbCrLf+vbCrLf,vbCrLf)

で改行を一つにしてあげると良いと思います。
(100%の精度ではないと思いますが、おおむね機能すると思います)

1 Like

連続する改行を1つの改行に置き換える方法で解決できそうです。
ご教授ありがとうございました。

1 Like

Outlookメールメッセージを取得アクティビティで取得したMailMessageですが、
Outlook上ではHTML形式になっていますがUiPath 上のIsBodyHTMLがFalseになって正常に判定できません。
MailMessageを取得する段階で何かプロパティを指定した方が良いのでしょうか。

こんにちは

たしかにIsBodyHTMLの値は常にFalseっぽいですね。

MailMessageとなった状態では他に手掛かりがなさそうなので、例えば以下の条件式で判定してみてはいかがでしょうか?

System.Text.RegularExpressions.Regex.Matches(mail.Body,"\n").Count/2-1<=System.Text.RegularExpressions.Regex.Matches(mailBody,"\r\n\r\n").Count
1 Like

Header(“HTMLBODY”)に「“text/plain”」が含まれるもしくは「“text/rtf”」が含まれるか否かでHTML形式のメールか判断できそうです。
アドバイスいただきありがとうございました

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.