Как повторить попытку отправки электронной почты с помощью perl

#perl #sendmail

#perl #sendmail

Вопрос:

Я работаю над отправкой электронной почты с использованием языка perl и использую пакет Win32 :: OLE, используя объект CDO.

мой $ cdomsg = Win32::OLE->new(‘CDO.Message’); … $cdomsg -> Отправить();

Моя проблема в том, что иногда может возникнуть какая-то сетевая ошибка или что-то в этом роде, я хочу повторить попытку отправки почты 10 раз, если она не была отправлена успешно. Есть ли какой-либо способ решить проблему?

Ответ №1:

Я не знаком с этим пакетом, но, предположительно, вы могли бы проверить значение возврата команды Send() и цикла.

Но это не элегантное решение. Эта проблема решалась много раз. Лучший ответ — отправить электронное письмо через SMTP через какую-нибудь реальную почтовую систему. Я использую Postfix в своих ящиках Unix, я не знаю, каков ответ для пользователей Windows. Все полнофункциональные пакеты почтовых серверов будут иметь встроенное решение для повторных попыток, которое будет пытаться повторно отправлять электронные письма в течение настраиваемого периода времени, используя интеллектуальный алгоритм для уменьшения частоты повторных попыток с интервалом в несколько дней.