c#中发送邮件的主要代码咋写啊?

c#中发送邮件的主要代码咋写啊?就是可以用c#语句完成发送邮件的代码?希望大虾们帮帮忙啊。。。

在.NET中常见到在线发邮件的实例,网站加上这个功能可以方便站长与用户的交流。

NET 中发邮件有时候会用到IIS组件中的邮件服务器,不过复杂。对虚拟主机的配置也较麻烦,

也可用第三方组件比如Jmail,但.net本身就已经封装了发邮件的类:WebMail;

不过要首先引入这个类:using System.Web.Mail;//导入邮件发送类
using System.IO;//文件上传类型

这个类中包含了一些常用的对象常用的有From ,To,Subject,Body,Attchments(附件);

具体代码如下:

MailMessage objMail = new MailMessage();
objMail.From = mailFrom.Text;
objMail.To = mailTo.Text;
objMail.Subject = Subject.Text;
objMail.Body = Body.Text;
objMail.BodyFormat = MailFormat.Text;
//上传附件

string filename, filepath, filepic;

filepic = Path.GetExtension(uploadfile.PostedFile.FileName).ToLower();
if (filepic == ".exe")
{
Response.Write("<script>alert('对不起,格式错误!')</script>");
//Response.End();
}

filename = Path.GetFileName(uploadfile.PostedFile.FileName);
filepath = Server.MapPath("uploadfiles/" + filename);
uploadfile.PostedFile.SaveAs(filepath);//保存上传文件到服务器文件夹下;
MailAttachment attach = new MailAttachment(filepath);根据上传的路径创建附件对象;
objMail.Attachments.Add(attach);//添加附件实例
SmtpMail.SmtpServer = "";
SmtpMail.Send(objMail);
message.Text = "成功发送 !:)";
}

在这里上传附件时,对附件的扩展名进行验征,后缀名为.exe的为非法上传格式,当然你也可以添加更多的非法格式;

二:上传文件;

上传文件有多种方法,常用的数据库保存文件路径,文件存放在文件夹下;下面给出我把文件上传到文件夹下的代码;

string filename, filepath, filepic;//定义文件名,文件路径,文件扩展名;

filepic = Path.GetExtension(uploadfile.PostedFile.FileName).ToLower();//判断所要上传的文件名
if (filepic == ".exe" || filepic == ".rar" || filepic== ".重命名")//看看是不是符合这几种扩展名,如果想禁止某种类型,直接在这里添加即可;
{
Response.Write("<script>alert('对不起,格式错误!')</script>");
//Response.End();
}
else
{
try
{
filename = Path.GetFileName(uploadfile.PostedFile.FileName);
filepath = Server.MapPath("uploadfiles/" + filename);
uploadfile.PostedFile.SaveAs(filepath);
Response.Write("保存路径:" + filepath + "<br>");
Response.Write("文件类型:" + uploadfile.PostedFile.ContentType);
message.InnerHtml = "<br><a href='uploadfiles/" + filename + "'>查看文件</a>" + "<a href='uploadfiles.aspx'>返回</a>";
}
catch (OleDbException er)
{
Response.Write("响应时间过长,上传失败!!");
}
}

详情见我的空间;
http://hi.baidu.com/swebook/blog/item/e8a72d271891186b35a80f63.html
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-06
using System.Net.Mail;

protected bool SendMail(string From, List<string> To, string Subject, string Body)//发送邮件
{
bool re = false;
try
{
//生成一个 使用SMTP发送邮件的客户端对象
System.Net.Mail.SmtpClient client = new SmtpClient();
client.Host = "192.168.1.21"; //根据自己情况修改

//表示不以当前登录用户的默认凭据进行身份验证
client.UseDefaultCredentials = true;
//包含用户名和密码
client.Credentials = new System.Net.NetworkCredential("user", "password");

//指定如何发送电子邮件。
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

System.Net.Mail.MailMessage Message = new MailMessage();
Message.From = new MailAddress(From, Master_T_empnamec, System.Text.Encoding.UTF8);
foreach (string ss in To)
{
Message.To.Add(ss);
}
Message.Subject = Subject;
Message.Body = Body;

Message.SubjectEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Message.BodyEncoding = System.Text.Encoding.GetEncoding("UTF-8");

Message.IsBodyHtml = true;

client.Send(Message);
re = true;
}
catch
{
re = false;
}
return re;
}
第2个回答  2010-01-06
示例代码如下:
MailMessage mail = new MailMessage();
Attachment attach = new Attachment( @"f:\1.txt" );
mail.Attachments.Add( attach );
mail.From = new MailAddress( "lzh5186@cnki.net" );
mail.To.Add( new MailAddress( "luzhenhua0207@126.com" ) );

SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential( "xyc2563", "Bc5dsldkj5" );
client.Host = "smtp.cnki.net";
mail.Subject = "谢谢您使用同方易搜平台";
mail.Body = "您的lic已经开通";
client.Send( mail );
第3个回答  2010-01-07
c#中发送邮件主要代码,挺好弄明白的。。。
东西太多了,就不复制了,给你个地址看看吧。挺能弄明白的
http://blog.csdn.net/hx_xiaoyi/archive/2010/01/05/5137186.aspx本回答被提问者采纳
第4个回答  2010-01-06
百度里一找一大把,但一定要注意一个问题。

你必须先确定,你的主发邮件支持smtp吗?

必须确定好,再做demo。

C#发送邮件代码 越详细越好
using System.Net.Mail;\/\/\/ \/\/\/ 发送邮件,返回true表示发送成功 \/\/\/ \/\/\/ 发件人邮箱地址;发件人用户名 \/\/\/ 密码 \/\/\/ 接受者邮箱地址 \/\/\/ SMTP服务器的主机名 \/\/\/ 邮件主题行 \/\/\/ 邮件主体正文 public bool Send(string a, string b, string c, string host, string sub, string...

求大佬C#发送邮件代码!!!
string text = \/\/邮箱string password = \/\/密码string host = \/\/STMPint port = 25;\/\/端口string body = ""\/\/发送内容MailMessage mailMessage = new MailMessage();MailAddress from = new MailAddress(text);mailMessage.From = from;mailMessage.To.Add(\/\/需要发送的邮箱);mailMessage.Subje...

c#中发送邮件的主要代码咋写啊?
objMail.To = mailTo.Text;objMail.Subject = Subject.Text;objMail.Body = Body.Text;objMail.BodyFormat = MailFormat.Text;\/\/上传附件 string filename, filepath, filepic;filepic = Path.GetExtension(uploadfile.PostedFile.FileName).ToLower();if (filepic == ".exe"){ Response.Write("...

c#求最精辟代码的邮件发送代码!只要能实现发送就可以!
Assembly asm = Assembly.LoadFrom(Utils.GetMapPath("\/bin\/" + emailinfo.DllFileName));ESM = (ISmtpMail)Activator.CreateInstance(asm.GetType(emailinfo.PluginNameSpace, false, true));} catch { ESM = new SmtpMail();} } } \/\/重设置当前邮件发送类的实例对象 public static void ReSet...

求用C#写的邮件客户端源代码?
string returnStr = "";try { string KL = "";\/\/发件人邮箱地址 string PSW = "";\/\/发件人邮箱密码 MailMessage msg = new MailMessage();msg.To.Add(KL);msg.From = new MailAddress(“收件人邮件地址”, "support", System.Text.Encoding.UTF8);\/\/收件人 msg.Subject = "邮件主题"...

如何在C#中发邮件?
在C#中发送邮件涉及到网络协议的通信编程。首先,查阅RFC文档了解邮件通信的标准。对于SMTP,需查看RFC821和1869(ESMTP RFC1651)。了解RFC文档后,程序流程大致如下:1. 连接SMTP服务器。2. 发送EHLO命令以请求ESMTP服务。3. 开启认证流程,通常使用Base64加密用户名和密码。4. 发送邮件信息,包含发件人...

C#发送邮件保存eml
\/\/这个是我自己做的一个QQ发邮件代码,注:ssl加密要到邮箱里发短信来获取密码(不是你的QQ密码)\/\/代码如下:private bool SendMail(Form2.History hsSendInfo, string warning = null){try{string HostName = System.Net.Dns.GetHostName();string AddressIP = string.Empty;string SystemTime = ...

c#代码怎么通过outlook发邮件
代码如下:\/\/\/ \/\/\/ 支持向多人发邮件,并支持多个附件的一个发送邮件的例子。\/\/\/ \/\/\/ smtp服务器地址 \/\/\/ 发送者邮箱 \/\/\/ 接收者邮箱,多个接收者以;隔开 \/\/\/ 邮件主题 \/\/\/ 邮件正文 \/\/\/ 附件 \/\/\/ 邮件正文是否需要以html的方式展现 public static void MultiSendEmail(string server...

C#发邮件问题!
邮件服务器应该这样写吧:SmtpClient smtp = new SmtpClient("smtp.yahoo.com");还有就是看看yahoo的邮箱是否直接smtp远程连接!反正sina和qq的可以你换个他们的邮箱试试!

重金悬赏!加分!求C#中按钮单击事件发送邮件的代码,教材都可以!详细的...
\/\/SmtpClient client = new SmtpClient("smtp." + sendUsername[1].ToString()); \/\/设置邮件协议,如果邮件地址与smtp地址后缀一样的话可以用这些代码 client.UseDefaultCredentials = false;\/\/这一句得写前面 \/\/client.EnableSsl = true;\/\/服务器不支持SSL连接 client.DeliveryMethod = Smtp...

相似回答