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

c#中发送邮件的主要代码咋写啊?就是可以用c#语句完成发送邮件的代码?希望大虾们帮帮忙啊。。。... c#中发送邮件的主要代码咋写啊?就是可以用c#语句完成发送邮件的代码?希望大虾们帮帮忙啊。。。 展开
 我来答
百度网友209d4f9
2010-01-06 · 超过23用户采纳过TA的回答
知道答主
回答量:175
采纳率:0%
帮助的人:97.1万
展开全部
在.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
一只白馒头0et
2010-01-06 · TA获得超过398个赞
知道小有建树答主
回答量:877
采纳率:0%
帮助的人:338万
展开全部
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linzhou0207
2010-01-06 · TA获得超过158个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:65.5万
展开全部
示例代码如下:
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 );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卡撒旦001
2010-01-07
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
c#中发送邮件主要代码,挺好弄明白的。。。
东西太多了,就不复制了,给你个地址看看吧。挺能弄明白的
http://blog.csdn.net/hx_xiaoyi/archive/2010/01/05/5137186.aspx
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东大街小才女
2010-01-06 · 超过11用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:29.4万
展开全部
百度里一找一大把,但一定要注意一个问题。

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

必须确定好,再做demo。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式