2017-07-14 72 views
2

在Oracle Forms 11g上,我調用了一個過程,可以通過電子郵件發送表單中顯示的數據。它複製電子郵件中的文本,並創建相同數據的.TXT附件。該電子郵件工作正常。但現在我想要將相同的數據附加爲PDF文件而不是.TXT文件。Oracle Forms 11g - 以PDF格式發送電子郵件文件而不是TXT

以下是我所稱的程序代碼。

create or replace procedure send4 (p_sender IN VARCHAR2, p_recipient IN VARCHAR2, p_subject IN VARCHAR2, p_message IN VARCHAR2) 
IS 
crlf   VARCHAR2(2) := chr(13)||chr(10); 
l_mailhost VARCHAR2(255) := <IP ADDRESS>; 
v_connection    UTL_SMTP.connection; 

BEGIN 
V_CONNECTION := utl_smtp.open_connection(l_mailhost, 25); 
utl_smtp.Helo(V_CONNECTION, l_mailhost); 
utl_smtp.Mail(V_CONNECTION, p_sender); 
utl_smtp.Rcpt(V_CONNECTION, p_recipient); 
utl_smtp.Data(V_CONNECTION, 
'Date: ' || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf || 
'From: ' || p_sender || crlf || 
'Subject: '|| p_subject || crlf || 
'To: '  || p_recipient || crlf || 
'MIME-Version: 1.0'|| crlf || -- Use MIME mail standard 
'Content-Type: multipart/mixed;'|| crlf || 
' boundary="-----SECBOUND"'|| crlf || 
crlf || 
'-------SECBOUND'|| crlf || 
'Content-Type: text/plain;'|| crlf || 
'Content-Transfer_Encoding: 7bit'|| crlf || 
crlf || 
p_message|| crlf || 
crlf || 
'-------SECBOUND'|| crlf || 
'Content-Type: text/plain;'|| crlf || 
' name="file.txt"'|| crlf || 
'Content-Transfer_Encoding: 8bit'|| crlf || 
'Content-Disposition: attachment;'|| crlf || 
' filename="attachment.txt"'|| crlf || 
crlf || 
p_message|| crlf || -- Content of attachment 
crlf || 
'-------SECBOUND--'   -- End MIME mail 
); 
UTL_SMTP.quit(v_connection); 
EXCEPTION 
WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then 
raise_application_error(-20000, 'Unable to send mail', TRUE); 
END; 

有人可以告訴我我在哪裏進行了更改,以便創建PDF文件而不是TXT。我嘗試調整代碼,但每次嘗試打開PDF文件時都會收到錯誤消息。

回答

0
  • 創建Oracle報告
  • 提交報告的工作報告引擎
  • 返回報表對象,並將其附加到電子郵件

創建報告允許您設置佈局和通過將塊where子句傳遞給報告,在屏幕上填充相同的數據。報表引擎將返回報表的jobid,然後可以通過使用表單級定時器觸發器進行輪詢來檢查完成情況。報告完成後,將其添加爲電子郵件的附件。

+1

謝謝您的回覆。由於數據現在正在獲取附加的文本文件,我希望我可以通過調整過程中的一些代碼,如附件類型和/或解碼數據或其他東西來將它附加爲pdf文件。 – Shahzaib

+1

你能指導我如何在電子郵件中添加PDF文件嗎? – Shahzaib

+0

我不認爲有一種方法可以在某種工具之外創建PDF。 Oracle Reports可以創建PDF並輸出到電子郵件。 [鏈接])http://docs.oracle.com/cd/E28389_01/bi.1111/b32121/pbr_cla002.htm)搜索電子郵件。您將使用的報告調用參數desformat = pdf DESTYPE = mail DESNAME =「[email protected]」 – Dug720

相關問題