1、用本机iis发送邮件(163、qq测试通过,126发不出去,老是收到退信,原因可能是126对免费用户不支持pop3和smtp)
SmtpClient SmtpMail = new SmtpClient();
//SmtpMail.Host = "localhost";
SmtpMail.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis;//指定使用本机stmp服务器
MailMessage mail = new MailMessage();
mail.To.Add("xxx@qq.com");//要发送到的邮箱地址
mail.From = new MailAddress(xxx@163.com, "我是管理员-呼", Encoding.UTF8);//发件人地址(地址必须可用,stmp服务必须开,发送可以不用密码)/发送者昵称/编码
mail.Subject = "管理员回复";
mail.Body = "您发布的物品已通过审批!";
try
{
SmtpMail.Send(mail);
MessageBox.Show("发送成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
需要安装iis服务,并开启stmp虚拟服务
参考:http://www.cnblogs.com/alexworks/articles/1621127.html
2、用服务端iis发送邮件(设置要比本机复杂一点,详见下)
SmtpClient SmtpMail = new SmtpClient();
SmtpMail.Host = "192.168.0.112";//直接使用IP,即使在别的电脑也可以访问,前提是防火墙必须关掉,以及允许匿名访问
SmtpMail.Port = 8088;
//SmtpMail.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis;//指定使用本机stmp服务器
MailMessage mail = new MailMessage();
mail.To.Add("xxx@qq.com");//要发送到的邮箱地址
mail.From = new MailAddress("xxxx@163.com", "我是管理员-呼", Encoding.UTF8);//发件人地址(地址必须可用,stmp服务必须开,发送可以不用密码)/发送者昵称/编码
mail.Subject = "管理员回复";
mail.Body = "您发布的物品已通过审批!";
try
{
SmtpMail.Send(mail);
MessageBox.Show("发送成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
stmp端口可以自己设定,设置后重新启动stmp服务,即可生效,总共需要设置有三点:1、IP地址 2、访问--连接--选中仅以下列表除外 3、设置中继限制---选中仅以下列表,然后添加本机IP(和1设置的一致),其余默认即可;需要注意的是 计算机名不能是 汉字名称,如“张三”(仅限第二种解决方案,第一种可以是汉字);