Oracle UTL_STMP-无内容
我通过UTL_SMTP通过Oracle数据库发送电子邮件。这是每天自动发送的电子邮件 但有时电子邮件中没有内容,会发送一封空白邮件 这是我的代码:Oracle UTL_STMP-无内容,oracle,email,smtp,Oracle,Email,Smtp,我通过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
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);
答案是在标题数据和正文数据之间加一行:
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);