0
而不是正確設計的電子郵件,我得到它的HTML代碼以及表內容。HTML代碼在電子郵件中顯示
我正在使用PL/SQL通過unix AIX發送郵件。
create or replace
PROCEDURE mail_sks_new (msg_to varchar2,
msg_subject varchar2,
IN_TEXT_MSG IN VARCHAR2 DEFAULT NULL,
IN_HTML_MSG IN VARCHAR2 DEFAULT NULL) AUTHID
CURRENT_USER IS
c utl_smtp.connection;
C_MIME_BOUNDARY CONSTANT VARCHAR2(256) := '----=*#abc1234321cba#*=';
msg_from varchar2(50) := '[email protected]';
mailhost VARCHAR2(30) := '127.0.0.1'; -- local database host
BEGIN
c := utl_smtp.open_connection('10.25.87.65', 25); -- SMTP on port 25
utl_smtp.helo(c, mailhost);
utl_smtp.mail(c, msg_from);
utl_smtp.rcpt(c, msg_to);
utl_smtp.data(c,
'From: abc_xyz' || utl_tcp.crlf || 'To: ' || msg_to ||
utl_tcp.crlf || 'Subject: ' || msg_subject || utl_tcp.crlf ||
IN_TEXT_MSG || utl_tcp.crlf || in_html_msg);
IF IN_HTML_MSG IS NOT NULL THEN
UTL_SMTP.WRITE_DATA(c, '--' || C_MIME_BOUNDARY || CRLF);
UTL_SMTP.WRITE_DATA(c,
'Content-Type: text/html; charset="iso-8859-1"' ||
CRLF || CRLF);
UTL_SMTP.WRITE_DATA(c, IN_HTML_MSG);
UTL_SMTP.WRITE_DATA(c, CRLF || CRLF);
END IF;
UTL_SMTP.WRITE_DATA(c,
'--' || C_MIME_BOUNDARY || '--' || CRLF);
UTL_SMTP.CLOSE_DATA(c);
utl_smtp.quit(c);
EXCEPTION
WHEN UTL_SMTP.INVALID_OPERATION THEN
dbms_output.put_line(' Invalid Operation in Mail attempt
using UTL_SMTP.');
WHEN UTL_SMTP.TRANSIENT_ERROR THEN
dbms_output.put_line(' Temporary e-mail issue - try again');
WHEN UTL_SMTP.PERMANENT_ERROR THEN
dbms_output.put_line(' Permanent Error Encountered.');
END;
如果有人能爲這個問題提供解決方案,這將會非常有幫助。
您可以與我們分享此過程的當前結果以及它應該是什麼樣子? – ruudvan 2015-02-23 18:26:19