Сколько задач я могу добавить в цепочку задач Chilkat? - PullRequest
0 голосов
/ 03 сентября 2018

Сколько задач я могу добавить в цепочку задач? Я использую компонент ActiveX.

В частности, я добавляю электронные письма, используя MailMan.SendMailAsync, и в очереди будут тысячи писем.

1 Ответ

0 голосов
/ 04 сентября 2018

Теоретически нет никаких ограничений, кроме возможных ограничений памяти.

В любом случае, я бы не рекомендовал его в качестве решения для отправки тысяч электронных писем. Причина в том, что здесь нет хорошего способа решения внешних проблем, которые могут возникнуть на полпути в процессе отправки, таких как проблемы с сетью или почтовым сервером.

Лучшим и более масштабируемым подходом может быть запись всех файлов .eml в каталог. Вы можете написать код для выполнения следующего, пока «каталог почтовой очереди» не станет пустым.

  • Выберите .eml в каталоге.
  • Загрузите его в объект электронной почты Chilkat.
  • Отправка электронной почты с помощью Chilkat MailMan с помощью метода SendEmail или SendEmailAsync.

Если ваш язык программирования позволяет вам создавать фоновые потоки, то вы можете создать N потоков, каждый со своим собственным объектом MailMan, который выполняет описанные выше действия. Вы хотели бы каким-либо образом контролировать / синхронизировать доступ к файлам .eml, чтобы гарантировать, что никакие два потока не выберут один и тот же файл .eml одновременно. Кроме того, N будет ограничено количеством соединений с того же IP-адреса, который может разрешить SMTP-сервер.

Если вы отправляете одно и то же электронное письмо каждому получателю или один и тот же шаблон электронной почты с заменами, тогда вам не нужно заранее писать полное электронное письмо для каждого получателя. Вы можете просто управлять списком, и для каждого последующего электронного письма просто обновлять его новым адресом To / CC / BCC (заботясь о clear адресах электронной почты To / CC / BCC из объекта Email до вызова AddTo / AddCc / AddBcc, чтобы добавить новый адрес электронной почты, в противном случае список получателей в письме увеличивается с каждой итерацией), выполнять замены темы / основной строки и т. Д. И отправлять.

...