本人为学院做了一个挂号信通知系统,用的是.Net平台开发的,服务器是server 2008 r2版本。在自己的电脑上测试没有问题,但是发布到服务器上后就特别慢,等了大概五分钟才发出来,不知道哪里出了问题。
源码如下:
protected void rpt_EnvelopeM(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Inform")
{
string id = e.CommandArgument.ToString();
string sql = "select MailBox from Envelope where id="+id;
string Mailto = Readdatabasestring(sql);
string subjet = "~~";
string content = "~~";
SendEmail(Mailto, subjet, content);
Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "<script>alert('发送成功!')</script>");
}
}
public static bool SendEmail(string mailTo, string mailSubject, string mailContent)
{
// 设置发送方的邮件信息,例如使用网易的smtp
string smtpServer = "smtp.163.com"; //SMTP服务器
string mailFrom = "xxxx@163.com"; //登陆用户名
string userPassword = "xxxx";//登陆密码
// 邮件服务设置
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
smtpClient.Host = smtpServer; //指定SMTP服务器
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码
// 发送邮件设置
MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人
mailMessage.Subject = mailSubject;//主题
mailMessage.Body = mailContent;//内容
mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
mailMessage.IsBodyHtml = true;//设置为HTML格式
mailMessage.Priority = MailPriority.Low;//优先级
try
{
smtpClient.Send(mailMessage); // 发送邮件
return true;
}
catch (SmtpException ex)
{
return false;
}
}