概要
イントラマートでスクリプト開発を行った際、FORMとしてテキストエリアとリッチテキストボックスのデータをメール送信する際に困ったので次の人用にまとめ。
テキストエリア
参照:スクリプト開発向けタグライブラリ imuiTextArea
参照:スクリプト開発向けタグライブラリ imuiRichtextbox
のFORMを作った際にファンクションコンテナ側に渡す時、どうやって改行を行っているか。
入力欄 | 入力方法 | 改行表現 |
---|---|---|
テキストエリア | 直打ち | \r\nで改行 |
テキストエリア | コピーペースト貼り付け | \r\nで改行 |
リッチテキスト | 直打ち | 各行に<p></p> を定義して改行を表現。及び改行時に\r\nで改行 |
リッチテキスト | コピーペースト貼り付け | 改行箇所に<BR /> タグを挿入して表現。\r\nは無し |
メール送信時、改行されない
テキストエリアHTML形式のメールで送信する場合、タグが存在しないため、改行されずに送信される場合がある。
そのためメール送信前に、改行コードを特定してreplaceで<br>
タグで置き換える。
メール送信時の文字化け
リッチテキスト利用時に、メモ帳等からコピーペーストされた文字列が存在する場合、
\r\nの改行が存在しないので、HTMLメールをそのまま作成すると、
メールサーバーによっては1行1000バイトの文字制限に引っかかって文字化けする場合がある。
参考:メール本文が一行1000バイトを超えると文字化ける問題
そのため<BR \>
タグが組み込んである場合は、
メール送信前にreplace等で<BR \>\r\n
で仕込む。
(データとして<BR \>\r\n
で保存するとリッチテキストで再表示する際に、2行分の改行が発生する。)