oracle發簡單郵件

2021-08-30 23:34:26 字數 1574 閱讀 2181

[color=red]最近需要用oracle發郵件.於是寫了個發簡單郵件的過程,如下:[/color]

create or replace procedure send_******_mail

(p_sender in varchar2, --發件人

p_recipient in varchar2, --收件人

p_subject in varchar2, --標題

p_server in varchar2 , --郵件伺服器,埠為25,不作設定了

p_body in varchar2 --郵件內容)is

mail_conn utl_smtp.connection;

title varchar2(20000);

v_msg varchar2(20000);

begin

mail_conn := utl_smtp.open_connection (p_server, 25); --開啟乙個郵件連線

utl_smtp.ehlo(mail_conn, p_server); -- smtp伺服器登入校驗

utl_smtp.mail(mail_conn,'<'|| p_sender||'>'); --設定發件使用者,注意要加上那兩個尖括號

utl_smtp.rcpt(mail_conn,'<'|| p_recipient||'>'); --設定接收使用者

/*編碼處理*/

v_msg := 'mime-version: 1.0'

|| utl_tcp.crlf || 'from: ' || p_sender || '<' || p_sender || '>'

|| utl_tcp.crlf || 'to: ' || p_recipient || '<' || p_recipient || '>'

|| utl_tcp.crlf || 'date:' || to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')

|| utl_tcp.crlf || 'subject:' || p_subject

|| utl_tcp.crlf || 'content-type: text/plain; charset=gb2312'

|| utl_tcp.crlf || 'content-transfer-encoding: 8bit'

|| utl_tcp.crlf || utl_tcp.crlf

|| p_body;

/* 傳送資料 */

utl_smtp.open_data(mail_conn);

utl_smtp.write_raw_data(mail_conn,utl_raw.cast_to_raw(convert(v_msg,'zhs16gbk','zhs16gbk'))); --轉換編碼到gbk

utl_smtp.close_data(mail_conn);

utl_smtp.quit (mail_conn);

exception when others

then

dbms_output.put_line (dbms_utility.format_error_backtrace);

end;

八 傳送郵件

傳送郵件 如下 from email.mime.text import mimetext from email.header import header import smtplib import datetime from poseidon.myutil import myutil import ...

使用php發郵件二(發郵件流程)

傳送郵件過程 1 配置好你的郵箱服務 qq郵箱為例 2 使用socket連線,建立乙個套接字 fp fsockopen hostname,port,errno,errmsg,30 3 向對方郵件伺服器發出的標識自己的身份的命令fputs fp,ehlo ki r n 4 即將進行身份認證fputs ...

已發歸檔郵件做備份

上面一篇文章提到了檔案壓縮方式 解決了上面的問題,下面也該進行備份了 archive outbox backup.sh bin sh finddomaindir finddomaindir ad5 mx10 home mail log home sysadmin zhaoyj backup ad5 ...