我想使用 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 transient error: 421 Service not available
您错过了服务器上的身份验证,请参阅AUTH功能及流程 https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/u_smtp.htm#ARPLS72085
但是,我不知道gmail是否允许使用默认不安全的端口25。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)