1. 程式人生 > >plsql使用qq郵件伺服器傳送郵件

plsql使用qq郵件伺服器傳送郵件

1.程式碼如下:
CREATE OR REPLACE PROCEDURE send_mail(
       p_recipient VARCHAR2, -- 郵件接收人
       p_subject   VARCHAR2, -- 郵件標題
       p_message   VARCHAR2  -- 郵件正文
 )
 IS
 
 
      --下面四個變數請根據實際郵件伺服器進行賦值
      v_mailhost VARCHAR2(30) := 'smtp.qq.com'; --SMTP伺服器地址
      v_user     VARCHAR2(30) := ''; --登入SMTP伺服器的使用者名稱
      v_pass     VARCHAR2(20) := ''; --登入SMTP伺服器的密碼
      v_sender   VARCHAR2(50) := '
[email protected]
'; --傳送者郵箱,一般與 ps_user 對應 v_conn UTL_SMTP. connection ; --到郵件伺服器的連線 v_msg varchar2(4000); --郵件內容 BEGIN v_conn := UTL_SMTP.open_connection(v_mailhost, 25); UTL_SMTP.ehlo(v_conn, v_mailhost); --是用 ehlo() 而不是 helo() 函式 --否則會報:ORA-29279: SMTP 永久性錯誤: 503 5.5.2 Send hello first. UTL_SMTP.command(v_conn, 'AUTH LOGIN' ); -- smtp伺服器登入校驗 UTL_SMTP.command(v_conn,UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_user)))); UTL_SMTP.command(v_conn,UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_pass)))); UTL_SMTP.mail(v_conn, v_sender); --設定發件人 UTL_SMTP.rcpt(v_conn, p_recipient); --設定收件人 -- 建立要傳送的郵件內容 注意報頭資訊和郵件正文之間要空一行 v_msg := 'Date:' || TO_CHAR(SYSDATE, 'dd mon yy hh24:mi:ss' ) || UTL_TCP.CRLF || 'From: ' || '<' || v_sender || '>' || UTL_TCP.CRLF || 'To: ' || '<' || p_recipient || '>' || UTL_TCP.CRLF || 'Subject: ' || p_subject || UTL_TCP.CRLF || 'Content-Type:text/html;charset=GBK' || 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(convert(v_msg,'ZHS16GBK'))); --這樣寫標題和內容都能用中文 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;
2.設定訪問許可權

相關推薦

plsql使用qq郵件伺服器傳送郵件

1.程式碼如下:CREATE OR REPLACE PROCEDURE send_mail( p_recipient VARCHAR2, -- 郵件接收人 p_subject VARCHAR2, -- 郵件標題 p_message

使用 spring封裝的javamail linux伺服器傳送郵件失敗解決

原文參考:https://blog.csdn.net/a540891049/article/details/79385471 由於某些平臺的linxu伺服器為了安全起見 遮蔽了傳送郵件的常用埠  25、465、587 下面我用QQ郵箱舉例子   用Linux

Ubuntu 直接使用外部 SMTP 伺服器傳送郵件

不在伺服器上啟動 sendmail 服務,直接使用外部 SMTP 的傳送郵件其實更簡單,下面是使用 smtp.163.com 的基本配置 set [email protected] set smtp=smtps://smtp.163.com set smtp-auth-user

Python用 smtplib在阿里雲伺服器傳送郵件(1ni)

差點被這個郵件搞哭了,坑真的太多了!!!1.要記得開啟163郵箱的服務具體方法 設定=》左下角的客戶端授權密碼(那時候就要開啟了,會讓你輸入密碼,這個密碼不能和登入的密碼相同程式碼裡也是這個客戶端密碼,不是登入密碼)2.你的IP可能被禁了!!!一開始試了很多的程式碼,都是報錯

JavaMail本地伺服器傳送郵件

Java利用自己的郵箱傳送郵件需要一下兩個jar包 activation.jar 下面為下載地址及方法 http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-jav

Python 通過連線qq郵箱伺服器傳送郵件

python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議進行了簡單的封裝。 傳送郵件主要用到了smtplib 和 email 程式碼非常簡單,上程式碼: import smtplib from email.mime.text import MIME

使用Linux伺服器傳送郵件

安裝服務 # Centos7(貌似不用也行) >>>yum -y install mailx # Ubuntu16.04 >>>sudo apt instal

Godaddy伺服器傳送郵件出現Could not connect to SMTP host錯誤 解決辦法

解決辦法: 在 class.phpmailer.php 中,將 function IsSMTP() { $this->Mailer = 'smtp'; } 改成: function IsSMTP() { $this->Mailer = 'SMTP

使用阿里雲伺服器傳送郵件

今天在線上配置資料庫服務,在本機測試的時候寫了一個當檢測到MySQL宕機的時候會發送一封郵件到指定的賬戶提醒,部署到阿里雲之後其他一切正常,就是郵件傳送不成功,折騰了我一天 原來是因為國家政策,為了防止瘋狂傳送垃圾郵件,阿里雲關閉了25埠(安全組無法開啟25埠),而我在本機

阿里雲伺服器傳送郵件(一)

一、設定mailx及sendmail軟體 sendmail 進行傳送郵件的應用服務; mailx採用指令mail進行傳送郵件的編輯,通過sendmail進行傳送; 1、 檢查服務狀況 service sendmail status 問題:沒有結果的話,則重新安裝

linux配置mailx使用SMTP伺服器傳送郵件

mailx是linux系統上常見的郵件傳送工具,可以通過配置smtp伺服器使用大部分的郵箱傳送郵件。 使用yum源安裝mailx yum install mailx 安裝完成後可以在/etc/目錄下看到mailx的配置檔案mail.rc(nail.

Jenkins pipeline 使用 郵件擴充套件傳送郵件

一. 在使用 jenkins  郵件拓展的過程中,郵件內容的變數找了好久,現把總結內容整理如下; pipeline{     agent{label 'master'}     environment&n

yii2 配置多郵件賬號傳送郵件

use yii\swiftmailer\Mailer; $config = [ 'class' => 'Swift_SmtpTransport', 'host' => 'yo

使用hMailServer搭建郵件伺服器(windows郵件伺服器)

一、安裝郵件伺服器元件 開啟軟體,點下一步        選擇儲存資料的資料庫,這裡有兩種選擇, 一種是使用嵌入型資料庫Microsoft Sql Compact,另一種是自定義資料庫。     設定hMailServer connect密碼。這個密碼是連結

使用Exchange讀取郵件傳送郵件

問題 由於公司郵箱並未開放POP3收信埠,但配置exchange後,手機郵件客戶端可以收發郵件,因此決定使用exchange協議收發郵件。但測試過程中發現登入時反覆提示“440 Login Timeout ”錯誤,使用者名稱密碼並沒有出錯。 解決方案

ABP入門系列(17)——使用ABP整合的郵件系統傳送郵件

ABP中對郵件的封裝主要整合在Abp.Net.Mail和Abp.Net.Mail.Smtp名稱空間下,相應原始碼在此。 #一、Abp整合的郵件模組是如何實現的 分析可以看出主要由以下幾個核心類組成: EmailSettingNames:靜態常量類,主要定義了傳送郵件需要的相關引數:Port、Host、Us

java 呼叫郵件介面傳送郵件

一:pom配置 jar包         <dependency>             <groupId>javax.mail</groupId>             <artifactId>mail</arti

EWS操作exchange郵件伺服器收發郵件

參考資料: http://www.dotblogs.com.tw/wadehuang36/archive/2012/07/04/ews-first.aspx 本範例的主要功能是尋找未讀郵件並下載附件、完成更新成已讀並行動資料夾

阿里雲伺服器用SMTP的25號埠傳送郵件問題

這幾天自己閒著沒事就用阿里雲伺服器部署了一個專案,這個專案中包含了一個傳送郵件到我的郵箱的功能出錯了,這個功能在我的電腦上用本地伺服器沒有問題,但是部署到阿里雲的Centos伺服器上這個功能出了問題,阿里雲伺服器傳送郵件是報出超時的錯誤: 主要原因如下: 我的傳送郵件功能是用傳統

C#實現.Net對郵件進行DKIM簽名和驗證,支援附件,傳送郵件簽名後直接投遞到對方伺服器(無需己方郵件伺服器

專案地址 github.com/xiangyuecn/… 主要支援 對郵件進行DKIM簽名,支援帶附件 對整個郵件內容(.eml檔案)的DKIM簽名進行驗證 對MailMessage、SmtpClient進行了一次封裝,傳送郵件簡單易用,進行DKIM簽名後直接投遞到對方伺服器(無需己方郵件