现在的邮件发送大多数需要STMP的身份验证,
.NET里面的
System.Web.Util
System.Web.Mail
就不可以了.
先要去找一个组件,名字叫 JMail
大家可以去网上找一下,下载下来安装上.
将jmail.dll引用到工程中
private void Button1_Click(object sender, System.EventArgs e)
{
jmail.Message Jmail=new jmail.Message();
DateTime t=DateTime.Now;
String Subject=" From EMail .net";
String body="你好科学12:15";
String FromEmail="ljt21@163.com";
String ToEmail="xiao-maolover@163.com";
//Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
Jmail.Silent=true;
//Jmail创建的日志,前提loging属性设置为true
Jmail.Logging=true;
//字符集,缺省为"US-ASCII"
Jmail.Charset="GB2312";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
Jmail.ContentType="text/html";
//添加收件人
Jmail.AddRecipient(ToEmail,"","");
Jmail.From=FromEmail;
//发件人邮件用户名
Jmail.MailServerUserName="ljt21" ;
//发件人邮件密码
Jmail.MailServerPassWord="****" ;
//设置邮件标题
Jmail.Subject=Subject;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:/test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
Jmail.AddAttachment( "c:/test.jpg",true,null);
//邮件内容
Jmail.Body=body+t.ToString();
//Jmail发送的方法
Jmail.Send("smtp.163.com",false);
Jmail.Close() ;
}
这样就OK了..!
经过测试的,没有问题
//-2
我用jmail做了一个程序,编译好后,将文件目录中的bin中dll和jmail.dll以及程序的.aspx文件都放到服务上,开始运行,报"带有 CLSID {E5FF9F62-0E7C-4372-8AD5-DA7D2418070C} 的 COM 对象无效或未注册"。
解决的方法是:在服务器上应该注册一下。然后你用tlbimp jmail.dll /out:你想用的名字.dll在你的WEB页中引用 using 你想用的名字的.dll就可以了
收发邮件都可以使用jmail,在.net下通过以下步骤生成所需的dll,
1.安装jmail4.3
2.找到jmail.dll(Program Files/Dimac/w3JMail4下)
3.执行Program Files/Microsoft Visual Studio .NET/FrameworkSDK/Bin/ildasm.exe,
格式如下:tlbimp jmail.dll /out:myJmail.dll /namespace:myJmail
生成myJmail.dll后,copy到web的根目录的bin目录,
在vs.net中引用 using jmail;
在其他机器上注册
在运行窗口中运行 regsvr32 E:/jmail/jmail.dll 然后在项目中引用jmail
using myJmail;
Message jmailobj=new Message();
jmailobj.Logging=true;
jmailobj.Silent=true;
jmailobj.MailServerUserName="username"; //发信邮件服务器的帐号
jmailobj.MailServerPassWord="pwd"; //密码
jmailobj.Body="ok";
jmailobj.Charset="gb2312";
jmailobj.Subject="这个是JMAIL测试!";
jmailobj.From="gfkd_2003@yahoo.com.cn";
jmailobj.FromName="test";
jmailobj.AddRecipient("wangwei@efu.com.cn","Name","A"); //收件人地址
//jmailobj.AddRecipientBCC("shao9979@hotmail.com","ok");//抄送
//jmailobj.AddRecipientBCC("gaoang2003@sohu.com.cn","ok");
jmailobj.Priority =1;
//jmailobj.AddAttachment(@"C:/Documents and Settings/Administrator/My Documents/DOTNET中华网技术论坛--『C#_NET技术专题』 浏览:介绍一批C#的学习网站",true,"htm"); //附件
if(jmailobj.Send("mailserver.com",false)) {
//mailserver.com邮件服务器
Response.Write("ok");
}
else {
Response.Write("false");
}
//----------
本文来自:赛酷网(www.syku.net) 原文链接:http://www.syku.net/web/program/net/200608/841.shtml