Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2012, 20:59   #1
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
Восклицание Рассылка на несколько адресов

Привет.
Помогите справиться с задачей рассылки писем по имеющемуся списку адресов клиентов фирмы. Пробовал сервис в Интернете (ВебАсист) - при добавлении адресов в поле BCC письма не доходят или попадают в Спам.
Если слать просто через саму почту, такая же примерно ситуация - письма не доходят клиентам. Так что выход видится в отправке писем по одному, по очереди.
Имеется ли у кого-нибудь готовое решение для отправки с помощью Excel VBA, возможно, с использованием каких-то библиотек?
Нужно, чтобы можно было в одной колонке (либо ячейке) задать список адресов, и макрос проходил по списку и отправлял на каждый адрес письмо с заданным текстом, которое может находиться также в к-н. ячейке (с форматированием, нужна возможность отправки HTML).
Таким образом, после запуска макроса на указанные мэйлы должно отправиться письмо. Тему и текст которого можно задавать. А в заголовке "От кого" чтобы был заданный мэйл.
При этом некоторые сервера типа Мэйл.ру или Яндекс классифицируют письма как спам, если какие-то из заголовков не совпадают ("от кого" и еще что-то).
И всё это должно работать без необходимости иметь какой-то свой SMTP сервер. Или если уж так, то чтобы это можно было легко установить и настроить. Но нежелательно.
Т.е., нужно иметь возможность регулярно посылать письма на адреса клиентов.
motorway вне форума Ответить с цитированием
Старый 26.01.2012, 21:17   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Имеется ли у кого-нибудь готовое решение для отправки с помощью Excel VBA
поиском пробовали воспользоваться?
http://excelvba.ru/category/mail

Цитата:
И всё это должно работать без необходимости иметь какой-то свой SMTP сервер
в любом случае, вам надо иметь какой-то почтовый аккаунт, чтобы с него рассылать письма.

PS: Делал несколько программ рассылок - письма нормально рассылались.
Отсылать лучше с аккаунта типа mail.ru или gmail.com, а не с unknounhost.xxx - так меньше вероятности, что почтовые сервисы заподозрят вас в рассылке спама.

PPS: Если отсылать очень много однотипных писем с одного адреса - вполне вероятно, что популярные почтовые сервисы через какое-то время посчитают вас спамером.

Цитата:
Посмотрите самый простой способ, как организовать отправку почты (рассылку писем)
(с использованием программы заполнения документов по шаблонам, с последующей отправке по почте)

В программе есть возможность формировать письма по шаблону (с подстановкой данных из таблицы Excel),
прикреплять сформированные документы и файлы из выбранной папки, и много других возможностей.


Последний раз редактировалось EducatedFool; 12.01.2013 в 10:29.
EducatedFool вне форума Ответить с цитированием
Старый 26.01.2012, 22:18   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Спасибо.
На форуме и в Сети пробовал искать, полностью устраивающего решения не нашёл, сейчас к тому же болею.
Письма будут меняться, но для каждой конкретной рассылки будет >=162 адреса.
Насколько я понял, по вашей ссылке основной способ - это "Отправка почты макросом VBA без использования почтовых программ"?
У меня как раз Windows 7.

Последний раз редактировалось motorway; 26.01.2012 в 22:21.
motorway вне форума Ответить с цитированием
Старый 27.01.2012, 05:42   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
У меня как раз Windows 7
Если рассылку надо выполнять с одного компа,
полагаю, не составит никаких проблем установить на этот комп дополнительную библиотеку
EducatedFool вне форума Ответить с цитированием
Старый 27.01.2012, 15:22   #5
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Спасибо за наводку, ещё погуглил по фразе "CDO for Windows 7", нашёл такой код:
Код:
Private Sub SendMsg()
    Dim cdoMsg As New CDO.Message

    With cdoMsg
        With .Configuration.Fields
            .Item(cdoSendUsingMethod).Value = cdoSendUsingPort
            .Item(cdoSMTPUseSSL).Value = True
            .Item(cdoSMTPServerPort).Value = 465
            .Item(cdoSMTPServer).Value = "smtp.mymail.com"
            .Item(cdoSendUserName).Value = "myuser"
            .Item(cdoSendPassword).Value = "mypw"
            .Item(cdoSMTPAuthenticate).Value = cdoBasic
            .Update
        End With
        .From = "myuser@mymail.com"
        .To = "someguy@yahoo.com"
        .Subject = "Some more really spiffy mail for you!"
        .TextBody = "This is some mail I think you'll want." & vbNewLine _
                  & "Be sure to read the attachment."
        .AddAttachment App.Path & "\attach.txt"
        
        On Error Resume Next
        .Send
    End With
    
    If Err.Number <> 0 Then
        MsgBox "CDO error " & Hex$(Err.Number) & vbNewLine & Err.Description, _
               vbOKOnly Or vbExclamation, _
               Caption
    Else
        MsgBox "Mail sent!", vbOKOnly, Caption
    End If
End Sub
Несколько тестовых писем отправились.
Осталось приспособить его к отправке на несколько мэйлов + понять, возможна ли отправка с форматированием письма.
motorway вне форума Ответить с цитированием
Старый 27.01.2012, 16:28   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
погуглил по фразе "CDO for Windows 7", нашёл такой код
он ничем не отличается от моего кода
разве что требует ручного подключения библиотеки

Цитата:
возможна ли отправка с форматированием письма
возможна
примеры есть на форуме.
просто формируйте письмо (TextBody) в формате HTML
EducatedFool вне форума Ответить с цитированием
Старый 27.01.2012, 18:09   #7
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Ваш код я попробовал, но хотя в списке присутствовала библиотека для 2000 Windows, функция SendMail не работала (т.е., надо, наверно, какую-то другую подключать специально, но я её сразу не нашёл), а здесь сработало.
motorway вне форума Ответить с цитированием
Старый 28.01.2012, 01:10   #8
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Тем не менее, после рассылки на 100 мэйлов Яндекс начал расценивать письма как спам и не отправлять их, а чуть позже вообще не подключалось к серверу. С Гуглом такое же прошло уже примерно после 50 мэйлов.
Так что мировой спам привёл практически к тому, что трудно осуществить нормальную рассылку. Но при этом всяких рассылок много. Как-то они это делают.
Что тут ещё можно предпринять? (пробовал делать временную задержку и менять тело письма, но что-то не помогает)
В принципе, есть такой сервис, как Календарь Гугл, но это не совсем то. Может помочь в качестве рассылок с приглашением на мероприятия, но если в рассылке новости или что-то другое, то лучше просто иметь возможность отправлять письма произвольные.
motorway вне форума Ответить с цитированием
Старый 28.01.2012, 15:02   #9
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

У Гугла ограничение, по моему, 500 писем в день. Так что массовую рассылку сделать трудно. Сам столкнулся с этим вопросом и понял, что надо использовать утилиты сторонних разработчиков. Но это уже другая тема. Единственная связь с Excel состоит в том, что они могут использовать в качестве адресного листа файлы Excel.
strannick вне форума Ответить с цитированием
Старый 28.01.2012, 16:01   #10
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

500 для начала хватило бы, в крайнем случае можно сделать еще несколько ящиков, но проблема в том, что даже для 50 уже начинает блокировать (message rejected)
Несколько сторонних программ пробовал, но впечатление, что везде какие-то сырые (не всё доходит/отправляется). Нормальной пока не нашёл
motorway вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
1) как перетащить несколько модулей с одной книги на другую одним скопом? 2)можно ли открыть несколько книг сразу? БАХТИ Microsoft Office Excel 17 26.09.2011 18:11
Архитектура ВТ. Формирование адресов. Alkagolik Помощь студентам 11 19.04.2011 16:41
Исчерпание IPv4 адресов. Alex Cones Свободное общение 7 14.01.2011 14:48
перебор ip адресов??? Redeemer_09 Общие вопросы C/C++ 0 25.12.2010 22:06