当收到新邮件时向Gtalk发送提醒消息

by 李喆 2012.1.16 17:20
 最近工作中需要双屏都用在Mac上写代码,但是邮件的收取是在windows上,有时会有漏收邮件的情况发生。用C#写了一个小工具,当收到新邮件时向指定的Gtalk账户发信息,用到了agsXMPP这个开源项目

using System;
using System.Collections.Generic;
using System.Text;
using agsXMPP;
using agsXMPP.protocol.client;
using System.Threading;
using System.IO;
using Microsoft.Office.Interop.Outlook;
namespace sendmessage
{
    class Program
    {
        static void Main(string[] args)
        {
            outLookApp = new ApplicationClass();
            outLookApp.NewMailEx += new ApplicationEvents_11_NewMailExEventHandler(outLookApp_NewMailEx);
            Console.WriteLine("Please wait for new messages...");
            Console.ReadLine();
        }
 
        static void outLookApp_NewMailEx(string EntryIDCollection)
        {
            foreach (string item in EntryIDCollection.Split(','))
            {
                NameSpace outlookNS = outLookApp.GetNamespace("MAPI");
                MAPIFolder mFolder =
                  outLookApp.Session.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
                Console.WriteLine("Message send...");
                MailItem mailItem = (MailItem)outLookApp.Session.GetItemFromID(item, mFolder.StoreID);
 
                message = mailItem.Subject + " from <" + mailItem.SenderName + ">" + "\n" + mailItem.Body;
                Console.WriteLine(message);
 
                gtalkid = File.ReadAllText("gtalkid.txt"); // 接受消息的账户
                connection = new XmppClientConnection();
                connection.Server = "gmail.com";
                connection.ConnectServer = "talk.google.com";
                connection.Username = "用户名"; // 用来发送消息的账户
                connection.Password = "密码";
                connection.OnLogin += new ObjectHandler(connection_OnLogin);
                connection.Open();
            }
        }
 
        static void connection_OnLogin(object sender)
        {
            connection.Send(new agsXMPP.protocol.client.Message(gtalkid, MessageType.chat, message));
            Console.WriteLine("Please wait for new messages...");
        }
 
        static XmppClientConnection connection;
        static string gtalkid;
        static ApplicationClass outLookApp;
        static string message;
    }
}
 

Tags:

工作小记

Comments are closed

Calendar

<<  February 2012  >>
MonTueWedThuFriSatSun
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

在日历中查看文章

Statistics

38 篇文章
2 个单页
440 条评论
27 次评分
95553 次访问
访问统计开始于 2010年7月12日
平均日访问 161 次
当前 6 人在线