1.添加发送邮件代码,注意发送邮件时host的指定,经过我的尝试,发现 client.Host = msg.From.Host; 顺利发送邮件;
public void SendMailLocalhost(SPListEvent list)
{
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.To.Add("mail@msdev.local");
msg.From = new MailAddress("mail@msdev.local", "johnny", System.Text.Encoding.UTF8);
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
msg.Subject = "这是测试邮件"+list.Title.ToString()+DateTime.Now.ToShortDateString();//邮件标题
msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
msg.Body = "邮件内容:测试event handler" + list.Title.ToString() + DateTime.Now.ToShortDateString();//邮件内容
msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml = false;//是否是HTML邮件
msg.Priority = MailPriority.High;//邮件优先级
SmtpClient client = new SmtpClient();
//client.Host = "127.0.0.1";
client.Host = msg.From.Host;
object userState = msg;
try
{
client.Send(msg);
//MessageBox.Show("发送成功");
}
catch (System.Net.Mail.SmtpException ex)
{
//MessageBox.Show(ex.Message, "发送邮件出错");
throw ex;
}
}
- 编译代码会出现错误:什么无法复制,*。Dll正在使用的错误。
重启IIS,可以解决
- 测试eventhandler:上传一个文件,发现C盘生成新的文本,并且发送了一封通知邮件。