Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ Python ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Python и Outlook: удаляем письма и отправляем сообщения



# -*- coding: utf-8 -*-
#Два примера: удаление писем старше n дней и отправка письма

#Библиотеки
#Python for Windows Extensions - http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/
#.NET(я использовал 4.5) - http://www.microsoft.com/ru-ru/download/details.aspx?id=30653

import os, sys, pywintypes
import win32com.client
from datetime import datetime, timedelta

#Удаление писем старше n дней
stamp = datetime(1899, 12, 30, 0, 0, 0)

def dtime(s):
    return stamp + timedelta(days=float(s))

#Создаем COM объект    
app = win32com.client.Dispatch( "Outlook.Application" )
ns = app.GetNamespace( "MAPI" )

#3 - Удаленные
#4 - Исходящие
#5 - Отправленные
#6 - Входящие

folder = ns.GetDefaultFolder(3)

print( u"Удалим письма старше 14 дней из %s" % folder.Name )

#14 дневная метка
past14days = datetime.now() - timedelta(days=14)
mess_for_delete = []

#Перебираем письма в папке
for item in folder.Items:
    if dtime(item.LastModificationTime)<past14days:
        mess_for_delete.append( item )

#Если были старше 14 дней - удалим
info_all = u""
if len(mess_for_delete)>0:
    for item in mess_for_delete:
        info_all += u"Удалено: %s \n" % item.Subject
        item.Delete()
else:
    info_all = u"Нет подходящих"

    
#Создания письма 
mess = app.CreateItem(0)
mess.To = "recipient@domen.com"

#В копию 
mess.CC = "recipient@domen.com"

#Тема    
mess.Subject = u"Письма старше 14 дней удалены!"
#Тело
mess.Body = info_all
#Вложение    
mess.Attachments.Add("C:\\python\\test.txt")

#Отправка 
mess.Send()

 


Комментарии пользователей

Оставленных комментариев: 1Добавить комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!
Swell84 (10.11.2017 в 11:55)ответить
Спасибо за статью. Очень пригодилась, для отправки писем. Нужно было бы ещё добавить о том как выбрать форматирование сообщения. Но не суть нашёл вроде и даже работает. Вопрос в другом, ни где не могу найти как получить через python сообщения из Outlook чтобы высвечивалось на экране. Причём с правилом от кого именно.

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект