2013-04-10 6 views
1

Когда я пытаюсь отправить себя по электронной почте, используя пакет oracles UTL_SMTP, я получаю ошибку тайм-аута передачи (ORA-29276) из процедуры UTL_SMTP.MAIL, но только тогда, когда переменная отправителя использует домен landmail.com. Другие адреса работают правильно, например, [email protected] - но [email protected] этого не делает.Тайм-аут передачи в UTL_SMTP с определенным доменом отправителя

Я попытался перепечатать его, чтобы убедиться, что не было никаких странных скрытых символов или чего-то еще, но я в остальном полностью озадачен, и мой google-fu ничего не возвращает.

Может быть актуальным, что мы недавно обновили с 10 до 11 г.

код до тайм-аута довольно прямо вперед - это выглядит следующим образом, где никогда не достиг контрольной точки 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; 

ответ

1

Hm это странно. Я думаю, что это не имеет ничего общего с Oracle, но с нашей локальной конфигурацией SMTP (sendmail, postfix) (или настройкой DNS). Ваш локальный SMTP, вероятно, пытается проверить электронную почту во время получения.

Попробуйте сделать то же самое из командной строки Unix. Или непосредственно используя «telnet localhost 25», и вы увидите, сколько времени потребуется, пока SMTP не примет письмо.

+0

К сожалению, для позднего принятия, кажется, вы были правы, и это не связано с Oracle. Наш клиент исправил это на своей стороне вещей. Не получил полного сокращения, но это был, возможно, фильтр спама. – Numeron

Смежные вопросы