我需要通过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