
Комментарии 4
К заявленым цифрам Микрософта в плане того что можно отправлять стоит относиться с неким скептицизмом.
Когда нагрузочно тестировали отсылку через Exchange Online/MS Graph интерфейс нарывались на то, что даже если укладыватся в заявленные лимиты с запасом, часть писем не отправлялась. Пришлось аудит для неотправленного делать. И да, микрософт тогда немного поправил описание того, как же на самом деле у них работают лимиты. и сказал, что для большого трафика есть надёжный SMTP.
ну и да, это к тому что через jMeter с шаблоном письма оно мышкой хорошо автоматизируется.
Проблема вовсе не в том, чтобы сделать 100 писем и в каждом по 100 получателей, а в том, что после первого такого письма публичные серверы (яндекс, майлру и так далее) вас сразу примут за спам и все остальные 99 писем никуда не уйдут. Рассылать массово через cc, bcc вообще плохая затея.
И это все решается в рамках сервиса рассылок правильным формированием самого письма (подпись, отписка), верификацией, подтверждением своего домена, правильными DNS полями-dmarc, spf, ещё что то, что собственно и не описано вообще ни разу.
Платные сервисы рассылок стоят не так уж и дорого, к примеру 10-20 копеек за письмо. И платить им гораздо проще, чем развлекаться с тем, что каждый день тратить какое-то время на рассылку 50 писем, ну или доказывать всем подряд что ты не спамер. А если "правильно" подойти к рассылке, то можно заблокировать свой домен, и вот тут админы-начальство уже совсем не обрадуются
Предложенный автором способ годится только для внутрикорпоративной рассылки. А "наружу" такой вариант прямой путь в спам.
Персонализации нет и не будет. Все адреса партии лежат в одном письме, поэтому "Добрый день, Иван Петрович" технически невозможно.
Если обращение по имени критично – возвращайтесь к слиянию Word или к схеме "одно письмо на адрес" и принимайте их ограничения.
С чего бы технически невозможно?
Что мешает добавить столбец в таблицу с адресами имя получателя отдельной колонкой и написать:
.Body = "Добрый день, " & sName & "!" & vbCrLf & sBody
У меня ежемесячная рассылка первички по договорам в адрес ~400 контрагентов (адресов раза в 3 больше). Каждому уходит письмо с персонализированным Subject, Body, Attachments. Вложения тоже персонализированы по типам файлов - кому-то надо акт приема-передачи в pdf, кому-то xls. Кому-то только акт сверки, потому что акты приема-передачи и счет-фактуры он получает через ЭДО в 1С и отдельный e-mail ему не нужен.
К Body добавляются имена всех файлов во вложении (удобно, когда контрагент отвечает на письмо - я сразу вижу какие именно файлы он получил. Все вложения упакованы в один zip.
Кроме того, каждому уходит еще одно письмо, с тем же содержимым, но подписанное ЭЦП. Подписание происходит сторонней консольной утилитой от торговой площадки, для этого формируется cmd под каждое письмо с параметрами командной строки для утилиты. Контролируется вывод в лог этой утилиты и сообщения об [не]успешном подписании ЭЦП попадают в лог макроса.
Проблем с лимитами у меня нет: админ - мой подчиненный :). Но есть провайдер, который косо смотрит на массовую рассылку. Поэтому, чтобы не причисляли к спамерам добавлены рандомные задержки между отправкой (разумеется никакого .Display, только .Send).
выбор аккаунта отправителя остаётся за человеком, а не зашит в код;
А что мешает автоматично выбирать нужный акк в коде:
For Each oAccount In OL.Session.Accounts
If oAccount.SmtpAddress = "xxx@yyy.ru" Then Exit For ' Здесь можно любое условие по вкусу.
Next
Set SM.SendUsingAccount = oAccountДальше менеджер глазами проверяет письмо, выбирает ящик отправителя, при желании цепляет вложение и жмёт "Отправить" руками.
Сочувствую Вашему менеджеру: 500 отправок, 500 выборов ящика, 500 вложений (при желании). Ну часть Вы ему автоматизировали, а остальное?
Почтовая рассылка без сервиса рассылок. Только Excel, Outlook и шаблоны писем