Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒Python⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐SQL\T-SQL
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐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 чтобы высвечивалось на экране. Причём с правилом от кого именно.

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


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru