当我尝试使用oracles UTL_SMTP程序包发送电子邮件时,我从UTL_SMTP.MAIL过程收到传输超时错误(ORA-29276),但仅当sender变量使用landmail.com域时才会收到。其他地址正常工作,例如fake@email.com - 但whatever@landmail.com没有。
我已经尝试重新输入它以确保没有奇怪的隐藏字符或者其他东西,但我完全不知所措,而且我的google-fu什么也没有回复。
我们最近从10g更新到11g可能是相关的。
超时之前的代码非常简单 - 它看起来如下,从未到达检查点C ......
PROCEDURE send_email(sender_email_chr IN VARCHAR2
,other_stuff IN WHATEVER)
IS
connection_col UTL_SMTP.CONNECTION;
reply_col UTL_SMTP.REPLY;
BEGIN
reply_col := UTL_SMTP.OPEN_CONNECTION('localhost',25,connection_col,60);
DBMS_OUTPUT.PUT_LINE('Checkpoint A');
reply_col := UTL_SMTP.HELO(connection_col,'localhost');
DBMS_OUTPUT.PUT_LINE('Checkpoint B');
UTL_SMTP.MAIL(connection_col, sender_email_chr);
DBMS_OUTPUT.PUT_LINE('Checkpoint C');
--rest of procedure snipped
END;
答案 0 :(得分:1)
尝试从Unix命令行执行相同操作。或直接使用“telnet localhost 25”,您将看到在SMTP接受电子邮件之前需要多长时间。