• 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. }  



     

     

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

  • 相关阅读:
    查看文件的首尾行
    快捷键
    lua中奇葩用法
    lua中特殊用法
    CVPR2015一些文章整理
    hdu5371 最长回文子串变形(Manacher算法)
    SVN合并(merge)的使用
    atitit. 集合groupby 的实现(2)---自己定义linq查询--java .net php
    王立平--SQLite,SQLiteOpenHelper的简单应用
    Vim 经常使用快捷键及键盘图
  • 原文地址:https://www.cnblogs.com/jackljf/p/4768647.html
Copyright © 2020-2023  润新知