我需要通過oracle數據庫發送電子郵件pl/sql,存儲過程必須包括認證(用戶名/密碼)從存儲過程發送郵件
-4
A
回答
1
寫郵件的存儲過程。
CREATE OR REPLACE PROCEDURE send_mail
( sender IN VARCHAR2,
recipient IN VARCHAR2,
subject IN VARCHAR2,
message IN VARCHAR2)
IS
mailhost VARCHAR2(30) :=
'YOUR.SMTP.SERVER';
mail_conn utl_smtp.connection;
crlf VARCHAR2(2):= CHR(13)
|| CHR(10);
mesg VARCHAR2(1000);
BEGIN
mail_conn := utl_smtp.open_connection
(mailhost, 25);
mesg:= 'Date: ' || TO_CHAR(SYSDATE,
'dd Mon yy
hh24:mi:ss') || crlf ||
'From: <'||sender||'>' || crlf ||
'Subject: '||subject || crlf ||
'To: '||recipient || crlf ||
'' || crlf || message;
utl_smtp.helo(mail_conn, mailhost);
utl_smtp.mail(mail_conn, sender);
utl_smtp.rcpt(mail_conn, recipient);
utl_smtp.data(mail_conn, mesg);
utl_smtp.quit(mail_conn);
END;
並調用存儲過程如下:
begin
send_mail('sender e-mail','dest e-mail','here
goes subject','here goes
message');
end;
+1
雖然Shirish的解決方案看起來不錯(我沒有測試它),但考慮在課程期間採取非事務性操作(發送電子郵件)的含義的交易。如果進行更新1,更新2,然後發送郵件,然後更新3,然後回滾,會發生什麼? 3次更新會回滾,但您無法回憶該電子郵件。即使相應的事務已回滾,它也不會發送到收件人的郵箱中。只需要考慮一下.... – 2014-10-20 17:21:58
+0
沒有使用用戶名和密碼的身份驗證,仍然缺失 – 2014-10-21 13:49:39
相關問題
- 1. 從SQL Server 2012存儲過程發送電子郵件
- 2. 如何從存儲過程發送郵件?
- 3. 如何使用存儲過程從mysql發送郵件?
- 4. 從Netezza公司發送電子郵件的存儲過程
- 5. 從Oracle存儲過程發送郵件,的Oracle 11g
- 6. SQL存儲過程用附件發送郵件
- 7. 發送DataTable到存儲過程從C#
- 8. SQL Server存儲過程發送電子郵件
- 9. 發送郵件帶有參數的存儲過程
- 10. 發送電子郵件中的CLR存儲過程結果
- 11. 如何使用存儲過程結果發送電子郵件
- 12. 從GitHub存儲庫發送推送電子郵件通知
- 13. 從內部存儲發送帶附件的電子郵件
- 14. 通過附件從unix發送郵件
- 15. 通過郵件發送內存流
- 16. Akka:郵件發送保證發送到快照存儲
- 17. 存儲過程通過電子郵件向多個收件人發送電子郵件
- 18. Oracle:Java存儲過程發送JMS消息
- 19. 發送參數到存儲過程vb.net
- 20. 將參數發送到存儲過程
- 21. 發送空值到存儲過程
- 22. SQL Server:存儲過程併發送dbmail
- 23. 春季發送Blob到存儲過程
- 24. 發送空列表到存儲過程
- 25. 發送參數到存儲過程
- 26. 從郵箱發送郵件不會保存在已發送郵件中
- 27. 通過電子郵件發送從.net
- 28. 從python通過sendmail發送郵件
- 29. SQL存儲過程中的語法錯誤發送電子郵件?
- 30. 如果存儲過程返回無結果不發送電子郵件
http://blog.sqlauthority.com/2013/01/16/sql-server-send-email-from-sql-database -configure-database-mail-sql-in-sixty-seconds-039-video/ – 2014-10-20 21:04:53