Sub Group_Mail_Sending()
    If MsgBox("Вы уверены, что хотите начать процесс рассылки писем?" & vbCr & "Если процесс рассылки запустить, его нельзя будет прервать!", vbYesNo, "Рассылка писем") = vbNo Then Exit Sub
    Const strConstPartOfSchema = "http://schemas.microsoft.com/cdo/configuration/"
    Dim xlRows As Long, xlLastRows As Long
    xlLastRows = Cells(Rows.Count, 1).End(xlUp).Row 'Вычисляем последнюю заполненную ячейку в столбце А    
    Const lMaxQuad As Long = 20 'Сколько квадратов выводить    
    For xlRows = 2 To xlLastRows 'Цикл от второй строки(начало списка с e-mail адресами) до последней вычисленной ячейки таблицы
        'Создаем новое сообщение
        With CreateObject("CDO.Message")    'Создаем объект CDO
            .From = "username@domain.com"            'От кого отправляем (Display Name <email_address>)
            .To = Cells(xlRows, 1).Value        'Кому отправляем (Display Name <email_address>) / Столбец E-mail получптеля
            .Subject = Cells(xlRows, 2).Value   'Тема письма / Столбец Тема письма
            .TextBody = Cells(xlRows, 3).Value  'Текс cообщения / Столбец Текст письма
'            .TextBody = "Тестовая рассылка!" + + "\r\n" + "Тестовая рассылка!" 'Текс cообщения
'            .HTMLBody = "<html><body><h3>Тестовая рассылка!</h3></body></html>" 'Текс cообщения
'            .Attachments.Add Cells(xlRows, 4).Value 'Путь и имя файла, которое нужно прикрепить к письму
            .TextBodyPart.Charset = "koi8-r"    'Кодировка текста письма (koi8-r, utf-8, windows-1251)
            With .Configuration.Fields
                .Item(strConstPartOfSchema & "smtpserver") = "smtp.mail.ru"           'Адрес SMTP-сервера
                .Item(strConstPartOfSchema & "sendusing") = 2                         'Без использования каталога Exchange Server
                .Item(strConstPartOfSchema & "smtpserverport") = 25                   'Порт (альтернативный - 465)
                .Item(strConstPartOfSchema & "smtpauthenticate") = 1                  'Тип авторизации (0 = None, 1 = Basic, 2 = NTLM)
                .Item(strConstPartOfSchema & "sendusername") = "username@domain.com"       'Имя пользователя (вид 
username@domain.com)
                .Item(strConstPartOfSchema & "sendpassword") = "************" 'Пароль пользователя, специально созданный для приложения на mail.ru
                .Item(strConstPartOfSchema & "smtpusessl") = True                     'Использовать SSL шифрование (True - Да, False - Нет)
                .Item(strConstPartOfSchema & "smtpconnectiontimeout") = 60            'Время до завершения повторных попыток подключения
                .Update
            End With
            .Send 'Отсылаем сообщение
            Application.StatusBar = "Выполнено: " & Int(100 * xlRows / xlLastRows) & "%" & String(CLng(lMaxQuad * xlRows / xlLastRows), ChrW(9632)) & String(lMaxQuad - CLng(lMaxQuad * xlRows / xlLastRows), ChrW(9633))
            DoEvents
        End With
    Next xlRows
    MsgBox ("Рассылка писем завершена!")
    Application.StatusBar = False 'Очищаем статус-бар от значений после выполнения (рассылки)    
End Sub