Теоретически нет никаких ограничений, кроме возможных ограничений памяти.
В любом случае, я бы не рекомендовал его в качестве решения для отправки тысяч электронных писем. Причина в том, что здесь нет хорошего способа решения внешних проблем, которые могут возникнуть на полпути в процессе отправки, таких как проблемы с сетью или почтовым сервером.
Лучшим и более масштабируемым подходом может быть запись всех файлов .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, чтобы добавить новый адрес электронной почты, в противном случае список получателей в письме увеличивается с каждой итерацией), выполнять замены темы / основной строки и т. Д. И отправлять.