2017-08-03 71 views
1

當前使用apex_mail.send一個表單頁面,電子郵件進行HTML格式的表單的內容,一切直到用戶需要在一個格式化文本的能力,工作非常的電子郵件程序所以我將表單類型從文本區域切換到富文本編輯器。通過電子郵件發送豐富的文本字段

現在,當表單頁面通過電子郵件發送出來,那場現在發送的HTML標記,而不是格式文本。我該如何做到這一點,以便當用戶將其輸入到表單中時,電子郵件會將該字段發送格式化?

有問題的列是實際的表vchar2。

這裏是有問題的代碼:

DECLARE 
l_id number; 
l_index number; 
l_vc_arr2 APEX_APPLICATION_GLOBAL.VC_ARR2; 
L_BODY VARCHAR2(32767); 
lc_Message VARCHAR2(4000); 

BEGIN 

L_BODY := '<div><span style="text-align: center; font-family: calibri, ariel; font-size: 24px; font-weight: bold; color: #3270d3;">&P65_REQ_PRIORITY. at &P65_CLIENT!HTML. for a &P65_JOB!HTML. Has Been Updated.</span></div>'; 
L_BODY := L_BODY ||'<div>&nbsp;'; 
L_BODY := L_BODY ||'<table style="height: 60px; width: 710px;">'; 
L_BODY := L_BODY ||'<tbody>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 355px; font-family: helvetica, ariel; font-size: 16px;"><strong>Date: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_DATE_WROTE!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 350px; font-family: helvetica, ariel; font-size: 16px;">&nbsp;<strong>Approved and Ready to Buy: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_READY!HTML. </span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 353px; font-family: helvetica, ariel; font-size: 16px;"><strong>Sales: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_SALES!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 353px; font-family: helvetica, ariel; font-size: 16px;">&nbsp;<strong>Req Priority: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_REQ_PRIORITY!HTML.</span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'</tbody>'; 
L_BODY := L_BODY ||'</table>'; 
L_BODY := L_BODY ||'<table style="height: 30px; width: 710px;">'; 
L_BODY := L_BODY ||'<tbody>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 353px; font-family: helvetica, ariel; font-size: 16px;"><strong>Client: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_CLIENT!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 353px; font-family: helvetica, ariel; font-size: 16px;">&nbsp;<strong>Industry: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_CATEGORY!HTML.</span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'</tbody>'; 
L_BODY := L_BODY ||'</table>'; 
L_BODY := L_BODY ||'<table style="height: 30px; width: 710px;">'; 
L_BODY := L_BODY ||'<tbody>'; 
L_BODY := L_BODY ||'<tr style="height: 29.2833px;">'; 
L_BODY := L_BODY ||'<td style="width: 351px; height: 29.2833px; font-family: helvetica,ariel; font-size: 16px;"><strong>City: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_CITY!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 160.317px; height: 29.2833px; font-family: helvetica,ariel; font-size: 16px;">&nbsp;<strong>State: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_STATE!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 190.683px; height: 29.2833px; font-family: helvetica,ariel; font-size: 16px;">&nbsp;<strong>Zip: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&P65_ZIP!HTML.</span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'</tbody>'; 
L_BODY := L_BODY ||'</table>'; 
L_BODY := L_BODY ||'<table style="height: 90px;" width="710">'; 
L_BODY := L_BODY ||'<tbody>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; font-family: helvetica, ariel; font-size: 16px;"><strong>Working With: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_WORKING_WITH!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; font-family: helvetica, ariel; font-size: 16px;">&nbsp;<strong>Buying Process: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_BUY_PROC!HTML.</span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; font-family: helvetica, ariel; font-size: 16px;"><strong>Position: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_JOB!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; font-family: helvetica, ariel; font-size: 16px;">&nbsp;<strong>Number of Openings: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_DATE_WROTE!HTML.</span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; font-family: helvetica, ariel; font-size: 16px;"><strong>Required Citizenship: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_CIT_STATUS!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; font-family: helvetica, ariel; font-size: 16px;">&nbsp;<strong>Clearance Needed: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_CLEARED!HTML.</span></td>'; 
L_BODY := L_BODY ||'<tr>&nbsp;</tr>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'</tbody>'; 
L_BODY := L_BODY ||'</table>'; 
L_BODY := L_BODY ||'<table style="height: 90px;" width="710">'; 
L_BODY := L_BODY ||'<tbody>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 709px; font-family: helvetica, ariel; font-size: 16px;"><strong>Job Description: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;<html>&P65_DESCRIPTION!HTML.</html></span></p>'; 
L_BODY := L_BODY ||'<p>&nbsp;</p>'; 
L_BODY := L_BODY ||'</td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 709px; font-family: helvetica, ariel; font-size: 16px;"><strong>Minimum Qualifications and Desirables: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;<html>&P65_MIN_QUALS!HTML.</html><br /></span></p>'; 
L_BODY := L_BODY ||'<p>&nbsp;</p>'; 
L_BODY := L_BODY ||'</td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 709px; font-family: helvetica, ariel; font-size: 16px;"><strong>Notes: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;<html>&P65_NOTES!HTML.</html></span></p>'; 
L_BODY := L_BODY ||'<p>&nbsp;</p>'; 
L_BODY := L_BODY ||'</td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'</tbody>'; 
L_BODY := L_BODY ||'</table>'; 
L_BODY := L_BODY ||'<table style="height: 90px; width: 710px;">'; 
L_BODY := L_BODY ||'<tbody>'; 
L_BODY := L_BODY ||'<tr style="height: 29px;">'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; height: 29px; font-family: helvetica, ariel; font-size: 16px;"><strong>Bill Rate: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_RATE!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 353.5px; height: 29px; font-family: helvetica, ariel; font-size: 16px;"><strong>&nbsp;Overtime: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_OT_RATE!HTML.</span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr style="height: 29.9px;">'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; height: 29.9px; font-family: helvetica, ariel; font-size: 16px;"><strong>Contract Duration: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_DURATION!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 353.5px; height: 29.9px; font-family: helvetica, ariel; font-size: 16px;">&nbsp;<strong>Hours: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_HOURS!HTML.</span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr style="height: 29px;">'; 
L_BODY := L_BODY ||'<td style="width: 354.5px; height: 29px; font-family: helvetica, ariel; font-size: 16px;"><strong>Shift Differential: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_SHIFT_DIFF!HTML.</span></td>'; 
L_BODY := L_BODY ||'<td style="width: 353.5px; height: 29px; font-family: helvetica, ariel; font-size: 16px;"><strong>&nbsp;From Tip Written By: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;&P65_TIP_TO_REQ!HTML.</span></td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'</tbody>'; 
L_BODY := L_BODY ||'</table>'; 
L_BODY := L_BODY ||'</div>'; 

lc_Message :=    'Date Written :' || :P65_DATE_WROTE || chr(10); 
lc_Message := lc_Message || 'Sales   :' || :P65_SALES|| chr(10); 
lc_Message := lc_Message || 'Client   :' || :P65_CLIENT|| chr(10); 
lc_Message := lc_Message || 'City   :' || :P65_CITY|| chr(10); 
lc_Message := lc_Message || 'State   :' || :P65_STATE|| chr(10); 
lc_Message := lc_Message || 'Position  :' || :P65_JOB|| chr(10); 
lc_Message := lc_Message || 'Type   :' || :P65_REQ_PRIORITY || chr(10); 
lc_Message := lc_Message || 'Rate   :' || :P65_RATE || chr(10); 
lc_Message := lc_Message || 'Overtime Rate :' || :P65_OT_RATE || chr(10); 
lc_Message := lc_Message || 'Description :' || :P65_DESCRIPTION || chr(10); 
lc_Message := lc_Message || 'Minimum Qualifications and Desireables   :' || :P65_MIN_QUALS || chr(10); 
lc_Message := lc_Message || 'Notes   :' || :P65_NOTES || chr(10); 

l_id := APEX_MAIL.SEND( 
p_to => '[email protected]', 
p_from => :P65_SALES, 
p_subj => ''|| :P65_REQ_PRIORITY || ' at ' || :P65_CLIENT|| ' for a ' || :P65_JOB|| ' in ' || :P65_STATE|| ' Has Been Updated' || chr(10), 
p_body_html => L_BODY, 
p_body => lc_Message); 
FOR c1 IN (SELECT filename, req, mimetype, pkey 
FROM REQS 
WHERE pkey = :P65_pkey 
and REQ IS NOT NULL) loop 

APEX_MAIL.ADD_ATTACHMENT(
p_mail_id => l_id, 
p_attachment => c1.req, 
p_filename => c1.filename, 
p_mime_type => c1.mimetype); 
END LOOP; 

FOR c2 IN (SELECT filename2, exp_res, mimetype2, pkey 
FROM REQS 
WHERE pkey = :P65_pkey 
and EXP_RES IS NOT NULL) loop 

APEX_MAIL.ADD_ATTACHMENT(
p_mail_id => l_id, 
p_attachment => c2.exp_res, 
p_filename => c2.filename2, 
p_mime_type => c2.mimetype2); 
END LOOP; 
COMMIT; 
APEX_MAIL.PUSH_QUEUE(); 
END; 
+0

請在你的代碼,你已經改變類型從文本區富文本編輯器 – kapiell

+0

我道歉提頁面項目的名稱,它的P65_MIN_QUALS,P65_NOTES和P65_DESCRIPTION – greg

+0

幫助.. :-) – kapiell

回答

0

您是否嘗試過使用dbms_lob.append + CRLF在每一行的結尾? 這樣你就可以得到一個包含所有HTML格式的電子郵件。

見樣本代碼在這裏:

begin l_body := '<div style="margin: 10px"> <h1 style="margin: 0 0 5px 0; padding: 10px; font: bold 18px/32px Arial, sans-serif; color: #EA0000; background-color: #F0F0F0; border-bottom: 2px solid #E6E6E6">'||l_app_name||'</h1> <p style="margin: 15px 0; font: normal 13px/18px Arial, sans-serif;padding: 0 10px">'||crlf; dbms_lob.append(l_body,'<p style="margin: 15px 0; font: normal 13px/18px Arial, sans-serif;padding: 0 10px">'||crlf); dbms_lob.append(l_body,' <table style="width: 100%;" cellspacing="0" cellpadding="0" border="0"> <tr> <th style="background-color: #CCC; color: #333; font: bold 11px/18px Arial, sans-serif; text-align: left; width: 10%; padding: 5px 10px">Event Date</th> </tr>'||crlf); dbms_lob.append(l_body,'</table></div>'||crlf); . . .

0

你是幾乎沒有,不從富文本項目逃脫HTML,因爲它不會得到渲染。從富文本項目的替換字符串中移除!HTML。您的代碼行#61的下面是修改後的版本與行#71,

L_BODY := L_BODY ||'<td style="width: 709px; font-family: helvetica, ariel; font-size: 16px;"><strong>Job Description: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;<html>&P65_DESCRIPTION.</html></span></p>'; 
L_BODY := L_BODY ||'<p>&nbsp;</p>'; 
L_BODY := L_BODY ||'</td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 709px; font-family: helvetica, ariel; font-size: 16px;"><strong>Minimum Qualifications and Desirables: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;<html>&P65_MIN_QUALS.</html><br /></span></p>'; 
L_BODY := L_BODY ||'<p>&nbsp;</p>'; 
L_BODY := L_BODY ||'</td>'; 
L_BODY := L_BODY ||'</tr>'; 
L_BODY := L_BODY ||'<tr>'; 
L_BODY := L_BODY ||'<td style="width: 709px; font-family: helvetica, ariel; font-size: 16px;"><strong>Notes: </strong><span style="font-family: helvetica, ariel; font-size: 16px;">&nbsp;<html>&P65_NOTES.</html></span></p>'; 

更多信息@甲骨文APEX文檔 - >link

0

感謝輸入,但我最終去一下吧簡單的方法。

連接基本上每個銷售領域的一個單獨的電子郵件程序,然後有他們只如果該字段不爲空斷火。

我知道這是不是認可的方式,我敢肯定,但它很容易和它的作品。