c#中发送邮件的主要代码咋写啊?
c#中发送邮件的主要代码咋写啊?就是可以用c#语句完成发送邮件的代码?希望大虾们帮帮忙啊。。。...
c#中发送邮件的主要代码咋写啊?就是可以用c#语句完成发送邮件的代码?希望大虾们帮帮忙啊。。。
展开
7个回答
展开全部
在.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
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
展开全部
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
示例代码如下:
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 );
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 );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c#中发送邮件主要代码,挺好弄明白的。。。
东西太多了,就不复制了,给你个地址看看吧。挺能弄明白的
http://blog.csdn.net/hx_xiaoyi/archive/2010/01/05/5137186.aspx
东西太多了,就不复制了,给你个地址看看吧。挺能弄明白的
http://blog.csdn.net/hx_xiaoyi/archive/2010/01/05/5137186.aspx
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度里一找一大把,但一定要注意一个问题。
你必须先确定,你的主发邮件支持smtp吗?
必须确定好,再做demo。
你必须先确定,你的主发邮件支持smtp吗?
必须确定好,再做demo。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询