网上找了很多发送邮件的代码,测试发现连接有问题,比如tcp = new TcpClient (server, port);用server=smtp.126.com,port=25,连接不上,下面这个简单的如果关闭防火墙和mcafee杀毒软件就可以发送带附件的邮件。
using System;
using System.Web.Mail;
namespace egxsun
{
///
/// SystemMail 的摘要说明。
///
public class SystemMail
{
private string _adminEmail;
private string _smtpServer = "localhost";
private string _password;
private string _userName;
public SystemMail()
{
}
public string AdminEmail
{
get{return _adminEmail;}
set{_adminEmail = value;}
}
public string SmtpServer
{
get{return _smtpServer;}
set{_smtpServer = value;}
}
public string Password
{
get{return _password;}
set{_password = value;}
}
public string UserName
{
get{return _userName;}
set{_userName = value;}
}
public bool Send(string to, string from, string subject, string message)
{
try
{
MailMessage em = new MailMessage();
em.To = to;
em.From = from;
em.Subject = subject;
em.Body = message;
em.Attachments.Add( new MailAttachment("filename"));
//Found out how to send authenticated email via System.Web.Mail at http://SystemWebMail.com (fact 3.8)
if(this.UserName != null && this.Password != null)
{
em.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
em.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", this.UserName); //set your username here
em.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", this.Password); //set your password here
}
SmtpMail.SmtpServer = this.SmtpServer;
SmtpMail.Send(em);
return true;
}
catch
{
return false;
}
}
public bool Send(string to, string from, string subject, string body,string filename)
{
try
{
MailMessage em = new MailMessage();
em.To = to;
em.From = from;
em.Subject = subject;
em.Body = body;
em.Attachments.Add( new MailAttachment(filename));
//Found out how to send authenticated email via System.Web.Mail at http://SystemWebMail.com (fact 3.8)
if(this.UserName != null && this.Password != null)
{
em.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
em.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", this.UserName); //set your username here
em.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", this.Password); //set your password here
}
SmtpMail.SmtpServer = this.SmtpServer;
SmtpMail.Send(em);
return true;
}
catch//(Exception ex)
{
//string ss =ex.ToString();
return false;
}
}
}
}
使用:
SystemMail sm = new SystemMail();
sm.SmtpServer ="smtp.126.com";
sm.UserName = "******";
sm.Password ="******";
if(sm.Send("[email protected]","[email protected]","标题","正文",@"c:/deltable.rar"))
{
MessageBox.Show("发送成功!");
}
else
{
MessageBox.Show("发送失败!");
}