目前找到一隻程式CREATE OR REPLACE PROCEDURE send_mail
IS
v_mailhost VARCHAR2(30) := 'SMTP服?器地址'; 
v_sender VARCHAR2(50) := '[email protected]'; 
v_conn UTL_SMTP.connection; 
p_subject VARCHAR2(50) := 'test' ;
p_message VARCHAR2(50) := 'test' ;
v_msg varchar2(4000); 
BEGIN
v_conn := UTL_SMTP.open_connection(v_mailhost, 25);
UTL_SMTP.ehlo(v_conn, v_mailhost);
UTL_SMTP.command(v_conn, 'AUTH LOGIN'); 
UTL_SMTP.mail(v_conn, v_sender); 
UTL_SMTP.rcpt(v_conn, '[email protected]'); 
v_msg :='Date:'|| TO_CHAR(SYSDATE, 'yyyy mm dd hh24:mi:ss')
|| UTL_TCP.CRLF || 'From: '|| v_sender || ''
|| UTL_TCP.CRLF || 'To: ' || '[email protected]' || ''
|| UTL_TCP.CRLF || 'Subject: ' || p_subject
|| UTL_TCP.CRLF || UTL_TCP.CRLF 
|| p_message; 
UTL_SMTP.open_data(v_conn); 
UTL_SMTP.write_raw_data(v_conn, UTL_RAW.cast_to_raw(v_msg)); 
UTL_SMTP.close_data(v_conn);
UTL_SMTP.quit(v_conn); 
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line(DBMS_UTILITY.format_error_stack);
DBMS_OUTPUT.put_line(DBMS_UTILITY.format_call_stack);
END send_mail;
在oracle  procedures中可以執行,但為什麼沒有送出mail
或是  有人可以提供
delphi 6可以在指定的時間內送出mail
如,中午12點自動發送"吃飽沒"關心客戶

解决方案 »

  1.   

    v_mailhost VARCHAR2(30) := 'SMTP服?器地址';  你就一个字不改的执行了?这段代码可以用,自己申请个邮箱做验证,去相应的网站做设置(有些网站默认不开放smtp,需要自己开放)用Oracle的job就可以定时发送。
      

  2.   

    网站的SMTP需要安装认证的,也就是需要你的邮箱帐号和口令的,才能发送啊。
    没看到代码中有提供口令的地方。