發送郵件的plsql代碼(續)

最近遇到一個問題:

使用163自動發郵件時經常發送失敗,追究原因報554錯誤,也就是163認爲是廣告或垃圾郵件,阻止了,但是過幾個小時又好了,

如此反覆,導致最近經常擔心郵件是否發送失敗。

至於爲什麼使用163而不使用自己的郵件呢,因爲我們沒有自己的郵件服務器,使用的是阿里巴巴的企業郵箱,

現在考慮使用企業郵箱來發郵件,對之前的代碼更改SMTP服務器地址,發件人,密碼即可,其他的不變

 PROCEDURE JW_SEND_MAIL_PROC_SCD(P_RECIPIENT VARCHAR2, -- 郵件接收人
                                         P_SUBJECT   VARCHAR2, -- 郵件標題
                                         P_MESSAGE   VARCHAR2 -- 郵件正文
                                         ) IS
    --下面四個變量請根據實際郵件服務器進行賦值
    V_MAILHOST VARCHAR2(30) := 'XX.XX.XXX.XXX' ;--'14.18.245.164'; --SMTP服務器地址
    V_USER     VARCHAR2(30) := '[email protected]';--''; --登錄SMTP服務器的用戶名;
    V_PASS     VARCHAR2(20) := '********'; --登錄SMTP服務器的密碼
    V_SENDER   VARCHAR2(50) := '[email protected]'; --發送都郵箱,一般與 ps_user 對應
    V_CONN     UTL_SMTP.CONNECTION; --到郵件服務器的連接
    V_MSG      VARCHAR2(32767); --郵件內容
     my_recipients VARCHAR2(32767) := P_RECIPIENT; 
  BEGIN
  
    V_CONN := UTL_SMTP.OPEN_CONNECTION(V_MAILHOST, 25)

其他的不變,至於SMTP服務器地址如何得來,打開dos命令界面

使用命令nslookup smtp.xxxx.com    即可得到smtp服務器地址

eg.

如果得到多個addresses,一個一個的測試即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章