2016-04-11 3 views
1

Я пробовал искать везде, чтобы ответить на это, поскольку я не могу поверить, что это произошло со мной, но, похоже, ничего не может найти.VBA CDO Email Automation .send freeze

У меня есть стандартная функция отправки электронной почты CDO, которая работает нормально и примерно до 3 месяцев назад могла бы отключить отправку около 250 писем, вероятно, менее чем за 5 минут. Это было отключено от обмена.

Затем мы обновили наш сервер обмена до 2010 года, и теперь моя функция, которая не изменилась (кроме IP-адреса сервера smtp), приостанавливается на .send-часть примерно на 15-30 секунд. Я могу только думать, что это то, что изменилось на конце обмена, поскольку я ничего не изменил, но он заставляет тот же макрос занимать до 2-4 часов, чтобы отправить все электронные письма сейчас.

Кто-нибудь еще испытал это или знал, что нужно фиксировать при обмене, чтобы позволить мне сделать мои хорошие отчеты снова быстрыми?

Большое спасибо

ответ

0

Exchange 2010 соединителей приема должно быть настроено для получения входящих SMTP электронной почты, по умолчанию они будут не иначе были бы открытым ретранслятор почты.

Я предлагаю вам проверить, что сервер будет принимать входящие SMTP от рабочей станции путем открытия соединения TELNET на почтовом сервере порт 25 и попытайтесь вручную отправить по электронной почте, например:

C: HELO myComputerName 
    S: 250 smtp.theserverside.net Hello myComputerName [...] 
    C: MAIL FROM: [email protected] 
    S: 250 smtp.TheServerSide.net <[email protected]> is syntactically correct 
    C: RCPT TP: [email protected] 
    S: 250 <[email protected]> verified 
    C: DATA 
    S: 354 Enter message, ending with "." on a line by itself 
    C: Date: 1 April 04 10:30:42 
    C: From: [email protected] 
    C: To: [email protected] 
    C: Subject: Say Hello 
    C: Hello my friend! 
    C: And good bye! 
    C: . 
    S: 250 OK ID=1B3alH-0004ue-00 
    C: QUIT 
    S: 221 smtp.TheServerSide.net closing connection 

Если вам нужно внесите корректировки в Exchange, будьте осторожны и испытайте. Коннекторы приема находятся в консоли управления Microsoft Exchange/MS Exchange On-Prem/Server Configuration/Hub Transport

+0

Спасибо за это, я пробежал команды и успешно отправил электронное письмо без проблем, поэтому я бы предположил, что он установлен чтобы получать через SMTP, есть ли какие-либо параметры в обмене, которые заставляют его систематически помещать задержку между сообщениями при получении программно, поскольку это то, что кажется? –

+0

Я думаю, что, возможно, я нашел команду: Set-ReceiveConnector «Контекст по умолчанию» -MaxAcknowledgementDelay 00:00:00 –

+0

Для этого вам может понадобиться помощь от почтового администратора. По умолчанию соединитель получения принимает сообщения в ваш домен, но отклоняет электронные письма для других доменов, иначе это будет открытое сообщение электронной почты. Вы упомянули обновление с Exchange 2003 до 2010 года, и я считаю, что это одна из вещей, которые изменились: Ex2003 был открытым реле по умолчанию, Ex2010 не был. Вы хотите быть осторожным с любыми изменениями, которые вы делаете на соединителе приема, чтобы не ослабить вашу безопасность. Вы также должны следить за сообщениями, проходящими через ваш сервер после этого. Чтобы убедиться, что вы получаете нужные результаты. –