VS2010使用EventHandler发邮件

转:http://blog.csdn.net/alfred_72/article/details/9980279

因为不知道VS2010 Sharepoint 有EventReciver这个添加项,走了很多弯路。
 
步骤:
1.建立 空白Sharepoint项目解决方案。
2.添加项 选择-EventReciver(事件接收器)。
3. 配置--事件接收器类型,事件源项,需要处理哪些事件。
 
完成之后会生成相应的EventHandler类,方法,Feature1.feature1会自动添加站点功能项。  可以查看一下feature.xml和Element都生成了什么东西,这两个是部署到Sharepoint站点上的关键东西,一开始我不知道可以自动生成,自己在那写这两个文件,一直部署不了。
 接着是重写相应的类中的方法,我这里是重写ItemAdded方法,在list 添加新列的时候发送邮件通知。

Code:

 

  1. using System;  
  2. using System.Security.Permissions;  
  3. using Microsoft.SharePoint;  
  4. using Microsoft.SharePoint.Security;  
  5. using Microsoft.SharePoint.Utilities;  
  6. using Microsoft.SharePoint.Workflow;  
  7. using System.Net;  
  8. using System.Net.Mail;  
  9. using System.Net.Mime;  
  10. using System.Text;  
  11.   
  12. namespace SharePointProject4.EventReceiver1  
  13. {  
  14.     /// <summary>  
  15.     /// 列表项事件  
  16.     /// </summary>  
  17.     public class EventReceiver1 : SPItemEventReceiver  
  18.     {  
  19.        /// <summary>  
  20.        /// 已添加项.  
  21.        /// </summary>  
  22.         public override void ItemAdded(SPItemEventProperties properties)  
  23.         {  
  24.             base.ItemAdded(properties);  
  25.   
  26.             string mailTitle = "";  
  27.             string mailContent = "";  
  28.             string address = "";  
  29.   
  30.             if (properties.ListTitle == "邮件内容")  
  31.             {  
  32.                 SPListItem item = properties.ListItem;  
  33.                 mailTitle = item["标题"].ToString();  
  34.                 mailContent = item["邮件内容"].ToString();  
  35.                 address = item["邮件地址"].ToString();  
  36.   
  37.             }  
  38.   
  39.             SendEmail(mailTitle, mailContent, address);  
  40.   
  41.         }  
  42.   
  43.         public void SendEmail(string title, string content, string address)  
  44.         {  
  45.             try  
  46.             {  
  47.                 Encoding encoding = Encoding.GetEncoding(936);  
  48.   
  49.                 MailMessage Message = new MailMessage(  
  50.                     //from  
  51.                 new MailAddress("117738414@qq.com""邮件主题", encoding),  
  52.                     //to  
  53.                 new MailAddress(address));  
  54.   
  55.                 Message.SubjectEncoding = encoding;  
  56.                 Message.Subject = title;  
  57.                 Message.BodyEncoding = encoding;  
  58.                 Message.Body = content;  
  59.                 //Message.Attachments.Add(new Attachment(null));  
  60.                 SmtpClient smtpClient = new SmtpClient("smtp.qq.com");  
  61.                 smtpClient.Credentials = new NetworkCredential("2313626895""password");  
  62.                 smtpClient.Timeout = 20000;  
  63.                 smtpClient.Send(Message);  
  64.             }  
  65.             catch (Exception ex)  
  66.             {  
  67.   
  68.             }  
  69.   
  70.         }  
  71.   
  72.   
  73.     }  
  74. }  
using System;
using System.Security.Permissions;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Security;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.Workflow;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Text;

namespace SharePointProject4.EventReceiver1
{
    /// <summary>
    /// 列表项事件
    /// </summary>
    public class EventReceiver1 : SPItemEventReceiver
    {
       /// <summary>
       /// 已添加项.
       /// </summary>
        public override void ItemAdded(SPItemEventProperties properties)
        {
            base.ItemAdded(properties);

            string mailTitle = "";
            string mailContent = "";
            string address = "";

            if (properties.ListTitle == "邮件内容")
            {
                SPListItem item = properties.ListItem;
                mailTitle = item["标题"].ToString();
                mailContent = item["邮件内容"].ToString();
                address = item["邮件地址"].ToString();

            }

            SendEmail(mailTitle, mailContent, address);

        }

        public void SendEmail(string title, string content, string address)
        {
            try
            {
                Encoding encoding = Encoding.GetEncoding(936);

                MailMessage Message = new MailMessage(
                    //from
                new MailAddress("117738414@qq.com", "邮件主题", encoding),
                    //to
                new MailAddress(address));

                Message.SubjectEncoding = encoding;
                Message.Subject = title;
                Message.BodyEncoding = encoding;
                Message.Body = content;
                //Message.Attachments.Add(new Attachment(null));
                SmtpClient smtpClient = new SmtpClient("smtp.qq.com");
                smtpClient.Credentials = new NetworkCredential("2313626895", "password");
                smtpClient.Timeout = 20000;
                smtpClient.Send(Message);
            }
            catch (Exception ex)
            {

            }

        }


    }
}



 

 

代码写完,右键解决方案---部署。VS会自动部署并且激活Feature,部署完后你可以到Sharepoint网站--网站设置--网站操作--管理网站功能。看到相应的Featrure已经被激活。
也就说明功能已经开始启用了!

 

转载于:https://www.cnblogs.com/jackljf/p/4768647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值