Главная

Thursday, 14 July 2016

Microsoft Outlook - отложенный старт отправки.

Всем привет.

Не так давно я вам рассказывал про отправку писем с помощью PowerShell. Обычное дело.

Но представим себе пользователя который не искушен в PS-скриптах. Для приема  и отправки электронной почты он пользуется обыкновенной MS Outlook.

Если вам требуется, что бы электронное письмо отправилось адресату в назначенный день и час, то в программе Microsoft Outlook имеется возможность запрограммировать время и дату отправки вашей корреспонденции. Так называемый отложенный старт. Но для этого в назначенное время и дату ваш ПК должен быть включен, запущена программа Microsoft Outlook и иметь доступ в Интернет.

Но это письмо будет отправлено единожды!

А если вам надо его отправить повторно, но в другое время? Для этого придется писать скрипт VBA. Ибо MS Outlook хоть и хороший клиент, но не настолько.  Не пугайтесь, вы не первый.  Вот здесь другой автор предложил скрипт(макрос) который в заданный интервал времени (раз в сутки, в среду вечером, раз в неделю или в иное указанное время) отправляет письма из указанной папки Outlook. При этом данные письма не удаляются, а служат своего рода шаблоном. То есть один раз создали письмо-шаблон и в заданное время без вашего участия будет происходить его отправка. Вот сам макрос:

Private Sub Application_Reminder(ByVal Item As Object)
    Dim OutFolder As Folder, NewItem As MailItem
    If Item.Subject = "Letters Delivery" Then
  Item.MarkComplete

        'Set OutFolder = GetNamespace("MAPI").Folders("Иванов Иван Иванович").Folders("Расписание")
        Set OutFolder = GetNamespace("MAPI").Folders(CStr(Session.CurrentUser)).Folders("Delivery")
     
        'перебираем письма в указанной папке
        For i = 1 To OutFolder.Items.Count
            'Debug.Print OutFolder.Items(i).Subject     'тема письма
            Set NewItem = OutFolder.Items(i).Copy       'создаем копию письма
            Call NewItem.Send                           'отправляем письмо
        Next i
    End If
End Sub


А вот так выглядит его внедрение. Установка макроса описана там же.


Т.е. всё, что вам необходимо: один раз создать шаблон, один раз настроить задачу в Outlook и теперь каждый вторник(*) в заданное вами время будет происходить отправка нужного вам письма.

Но опять же в назначенное время ваш ПК должен быть включен и запущена программа Microsoft Outlook. С другой стороны в таком виде Microsoft Outlook можно поставить и на сервер. Хотя я бы предпочел The Bat!

Успехов.

1 comment:

А что вы думаете по этому поводу?