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:
- 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)
- {
- }
- }
- }
- }
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已经被激活。
也就说明功能已经开始启用了!
VS2010使用EventHandler发邮件的更多相关文章
- # PHP - 使用PHPMailer发邮件
PHPMailer支持多种邮件发送方式,使用起来非常简单 1.下载PHPMailer https://github.com/PHPMailer/PHPMailer,下载完成加压后, 把下边的两个文件复 ...
- Linux发邮件之mail命令
一.mail命令 1.配置 vim /etc/mail.rc 文件尾增加以下内容 set from=1968089885@qq.com smtp="smtp.qq.com" set ...
- 测试MailUtils,作用是发邮件
package cn.itcast.test; import java.io.IOException; import javax.mail.MessagingException; import jav ...
- SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...
- 学习linux之用mail命令发邮件
背景 这两天工作比较闲,网上各种冲浪(这个词暴露我的网龄了).看到一位大神的文章更闲 <>.端详一番,原来是用R语言拼接字符串后用shell命令发出去.发现shell命令既然还能直接发邮件 ...
- linux mail利用外部邮箱地址发邮件
mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" xxx@xxx.xxx #第一种方法,你可以把当前shell当成编辑器来用 ...
- 打电话,发短信,发邮件,app跳转
1.打电话 - (IBAction)callPhone1:(id)sender { NSURL *url = [NSURL URLWithString:@"tel://18500441739 ...
- iOS中如何切换到发短信、打电话、发邮件
我们在做APP的时候,难免会遇到需要调用短信,电话等程序的时候.如美团. 当然,这些都只是一些简单的方法就可以实现,但是时间久了也会淡忘,所以想写这边博客.一是为了再捡起来复习一下,另一个相当于留个备 ...
- 发邮件 和 excel导出中文文件名
/** * 发邮件 * @param email * @param subject * @param body * @throws UnsupportedEncodingException */ pu ...
随机推荐
- new Date()的数据类型的问题
function getServerNow(){ return new Date(new Date() + svrMinusLocal); } svrMinusLocal是服务器时间减本地时间的时间差 ...
- What is the difference between database table and database view?
The database table has a physical existence in the database. A view is a virtual table, that is one ...
- 实战案例--Grunt构建Web程序
GruntJS构建Web程序.使用Gruntjs来搭建一个前端项目,然后使用grunt合并,压缩JS文件,熟练了node.js安装和grunt.js安装后,接下来来实战一个案例,案例是根据snandy ...
- cognos8.3 sample在DB2里的安装
db2 create db c83 alias c83 using codeset UTF-8 territory CA 创建sample数据库 db2set db2codepage= db2 cha ...
- 序列dp笔记√
例题: http://www.cnblogs.com/gc812/p/5792181.html http://www.cnblogs.com/gc812/p/5792217.html
- Qt源码分析之QObject
原文:http://blog.csdn.net/oowgsoo/article/details/1529284 我感觉oowgsoo兄弟写的分析相当透彻,赞! 1.试验代码: #include < ...
- Android Handler传递参数动态更新UI界面demo
package com.example.demo_test; import android.app.Activity; import android.os.Bundle; import android ...
- (转)Struts 拦截器
一.拦截器是怎么实现: 实际上它是用Java中的动态代理来实现的 二.拦截器在Struts2中的应用 对于Struts2框架而言,正是大量的内置拦截器完成了大部分操作.像params拦截器将http请 ...
- tcp通信:多进程共享listen socket方式
原文链接:http://blog.csdn.net/largetalk/article/details/7939080 看tornado源码多进程(process.py)那段,发现他的多进程模型和一般 ...
- C# MySql分页存储过程的应用
存储过程: 获取范围内的数据 DELIMITER $$ DROP PROCEDURE IF EXISTS `studb`.`GetRecordAsPage` $$ ),), ),)) BEGIN de ...