我想使用 PL_SQL 通过 gmail 或 yahoo 主机发送电子邮件,我在 google 中搜索并找到 SMT.Mail 包,但它对我不起作用,请问任何人都可以指导我如何实现这一目标?
CREATE OR REPLACE PROCEDURE
send_mail (sender IN VARCHAR2,
recipient IN VARCHAR2,
message IN VARCHAR2,
nStatus OUT NUMBER)
IS
mailhost VARCHAR2(30) := 'smtp.gmail.com '; -- host mail addr
mail_conn utl_smtp.connection;
BEGIN
nStatus := 0;
mail_conn := utl_smtp.open_connection(mailhost, 25);
utl_smtp.helo(mail_conn, mailhost);
utl_smtp.mail(mail_conn, sender);
utl_smtp.rcpt(mail_conn, recipient);
utl_smtp.data(mail_conn, message);
utl_smtp.quit(mail_conn);
EXCEPTION
WHEN OTHERS THEN
nStatus := SQLCODE;
END send_mail;
当我测试此过程时,我得到:ORA-29278:SMTP 瞬时错误:421 服务不可用
最佳答案
您错过了服务器上的身份验证,请参阅 AUTH Function and Procedure
但是,我不知道gmail是否允许使用默认不安全的端口25。
关于oracle - 使用 PLSQL 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35744566/