Oracle UTL_STMP - 无内容
Oracle UTL_STMP - no content
我通过 UTL_SMTP 通过 Oracle 数据库发送电子邮件。这是每天自动发送的电子邮件。
但有时邮件中没有内容,发送的是空白邮件。
这是我的代码:
c := UTL_SMTP.OPEN_CONNECTION(sMailserver);
UTL_SMTP.HELO(c, sMailserver);
UTL_SMTP.MAIL(c, sFrom);
UTL_SMTP.RCPT(c, sRecipients);
UTL_SMTP.OPEN_DATA(c);
UTL_SMTP.write_data(c, 'To: ' || sRecipients || UTL_TCP.crlf);
UTL_SMTP.write_data(c, 'From: ' || sFrom || UTL_TCP.crlf);
UTL_SMTP.write_data(c, 'Subject: ' || REPLACE(sDescr, '[DATE]',TO_CHAR(sDATE,'DD.MM.YYYY')) || UTL_TCP.crlf);
UTL_SMTP.write_data(c, 'Content-Type: text/html;' || UTL_TCP.crlf);
-- Write data
UTL_SMTP.write_data(c, sData);
UTL_SMTP.CLOSE_DATA(c);
UTL_SMTP.QUIT(c);
答案是在 header-data 和 body-data 之间多加一行:
UTL_SMTP.write_data(c, 'Content-Type: text/html;' || UTL_TCP.crlf);
-- Extra line between header and body
UTL_SMTP.write_data(c, UTL_TCP.crlf);
-- Write data
UTL_SMTP.write_data(c, sData);
我通过 UTL_SMTP 通过 Oracle 数据库发送电子邮件。这是每天自动发送的电子邮件。
但有时邮件中没有内容,发送的是空白邮件。
这是我的代码:
c := UTL_SMTP.OPEN_CONNECTION(sMailserver);
UTL_SMTP.HELO(c, sMailserver);
UTL_SMTP.MAIL(c, sFrom);
UTL_SMTP.RCPT(c, sRecipients);
UTL_SMTP.OPEN_DATA(c);
UTL_SMTP.write_data(c, 'To: ' || sRecipients || UTL_TCP.crlf);
UTL_SMTP.write_data(c, 'From: ' || sFrom || UTL_TCP.crlf);
UTL_SMTP.write_data(c, 'Subject: ' || REPLACE(sDescr, '[DATE]',TO_CHAR(sDATE,'DD.MM.YYYY')) || UTL_TCP.crlf);
UTL_SMTP.write_data(c, 'Content-Type: text/html;' || UTL_TCP.crlf);
-- Write data
UTL_SMTP.write_data(c, sData);
UTL_SMTP.CLOSE_DATA(c);
UTL_SMTP.QUIT(c);
答案是在 header-data 和 body-data 之间多加一行:
UTL_SMTP.write_data(c, 'Content-Type: text/html;' || UTL_TCP.crlf);
-- Extra line between header and body
UTL_SMTP.write_data(c, UTL_TCP.crlf);
-- Write data
UTL_SMTP.write_data(c, sData);