2

メールフォームの 1 つに問題があるサイトで作業しています。ユーザーが にテキストを入力するCFTEXTAREAと、書式設定は保持されません (「Enter」を押しても改行にはなりません)。変数として保存されている場合や、によって電子メールで送信された場合ではありません<CFMAIL type="HTML" ..>)。

サイト管理者は、以前は正常に機能していたと主張しています。任意のヒント?

<cfprocessingdirective suppresswhitespace="No">
    <cfmail to="OMITTED" from="OMITTED" subject="#subject#" type="html">
       #message#    
    </cfmail>
</cfprocessingdirective>

<cfform name="mail" action="./mailinglist.cfm?sendMessage=true" 
       format="#type#" 
       height="400">

  <cfformgroup type="vertical">
      <table width="99%" cellpadding="3" cellspacing="0">
      <tr>
          <td class="form_label">Subject: </td>
          <td class="form_field">
               <cfinput class="textbox" required="yes" 
                    message="Please fill out the subject heading." 
                    style="width:200px;"  
                    type="text" 
                    name="subject" 
                    label="Subject:" width="200">
          </td>
      </tr>
      <tr>
          <td class="form_label">Message: </td>
          <td class="form_field">
                <cftextarea  class="textbox" required="yes" 
                       id="message" 
                       name="message" 
                       message="Please fill out the message body of the form..."
                       style="width:300px; height:150px;" 
                       width="350" height="250" 
                       label="Message:" 
                       wraptext="72" ></cftextarea>
          </td>
      </tr>
      <tr>
          <td class="form_label"></td>
          <td class="form_field" align="left" valign="top">
               <cfinput class="textbox" disabled value="yes"  
                     type="checkbox" 
                     name="announcement" 
                     label="Post as Announcement?">
               &nbsp;Post as Announcement? 
          </td>
      </tr>
      </cfformgroup>
4

4 に答える 4

13

HTML 形式のメールでテキストエリアの改行を保持するには、改行を<br>タグに置き換える必要があります。

reReplace(message, '\n', '<br />', 'ALL')

電子メール メッセージに追加の HTML 形式のコンテンツがない場合はtype="HTML"、CFMAIL タグから属性を削除するだけで、テキスト エリアのテキストが入力されたとおりに改行がそのまま表示されます。

于 2013-03-26T00:04:10.527 に答える
2

@imthepittsの回答を使用しますが、使用できるオプションをいくつか追加するだけです

replace(message, chr(10), '<br />', 'ALL')

また

<cfmail type="html">
<pre>
#message#
</pre>
</cfmail>

注:マークアップは、電子メールでの不要なインデントを防ぐために、意図的にすべて左揃えにしています。

于 2013-03-26T13:20:08.303 に答える
0

リッチ テキストエリアを使用してみてください。

<cftextarea name ="message" richtext="true"
other attributes
>
</cftextarea>
于 2013-03-26T00:10:19.500 に答える
0

CFmail 内で#paragraphformat(message)#and を使用すると、改行が保持されます。

于 2013-03-26T12:36:08.213 に答える