asp.net中使用JMail发邮件

现在的邮件发送大多数需要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

jmail  jmail是一种服务器端的邮件发送组件,和个人用的客户端邮件软件不一样的。jmail是在服务器上给程序用来发邮件用的,除了软件编程人员,其他人一般平常用不上。   jmail是一个第三方邮件操作组件,通常位于web服务器端,和站点程序紧密配合来接收及提交邮件邮件服务器的控件,让网站拥有发送邮件既接收邮件的功能   与此相同的还有CDONTS.NewMail,Persits.MailSender,IISmail.Iismail等等,他们唯一区别就是jmail只需要注册一个dll组件即可被调用,而其他则需要在iis上设置发布smtp服务器   (1)Body(信件正文) : 字符串   如:JMail.Body = "这里可以是用户填写的表单内容,可以取自Form。"   (2)Charset(字符集,缺省为"US-ASCII") : 字符串   如:JMail.Charset = "US-ASCII"   (3)ContentTransferEncoding : 字符串   指定内容传送时的编码方式,缺省是"Quoted-Printable"   如:JMail.ContentTransferEncoding = "base64"   (4)ContentType(信件的contentype. 缺省是"text/plain") : 字符串   如果你以HTML格式发送邮件, 改为"text/html"即可。   如:JMail.ContentType = "text/html"   (5)Encoding : 字符串   设置附件编码方式(缺省是"base64)。 可以选择使用的是"base64", "uuencode" or "quoted-printable" 如:JMail.Encoding = "base64"   (6)Log(Jmail创建的日志,前提loging属性设置为true,见下面) : 字符串   如:使用Response.Write( JMail.Log )语句列出日志信息。   (7)Logging(是否使用日志) : 布尔型   如:JMail.Logging = true   (8)Recipients : 字符串   只读属性,返回所有收件人   如:Response.Write( "" + JMail.Recipients + "" );   (9)ReplyTo(指定别的回信地址) : 字符串   如:JMail.ReplyTo = "qiao198@hotmail.com"   (10)Sender( 发件人的邮件地址) : 字符串   如:JMail.Sender = "qiao198@21cn.com"   (11)SenderName(发件人的姓名) : 字符串   如:JMail.SenderName = "一克"   (12)ServerAddress(邮件服务器的地址) : 字符串   你可以指定多个服务器,用分号点开。可以指定端口号。   如果serverAddress保持空白,JMail会尝试远程邮件服务器,然后直接发送到服务器上去。   如:JMail.ServerAddress = "mail.21cn.net.cn"   (13)Subject(设定邮件的标题,可以取自Form。):字符串   如:JMail.Subject = "客户反馈表单"   (14)添加文件附件到邮件   如:JMail.AddAttachment( "c:anyfile.zip" )   (15)AddCustomAttachment( FileName, Data )   添加自定义附件.   如:JMail.AddCustomAttachment( "anyfile.txt", "Contents of file" );   (16)AddHeader( Header, Value )   添加用户定义的信件标头。   如:JMail.AddHeader( "Originating-IP","192.158.1.10" );   (17)AddRecipient(收件人):字符串   如:JMail.AddRecipient( "qiao198@hotmail.com" );   (18)AddRecipientBCC( Email ),密件收件人:   如:JMail.AddRecipientBCC( "qiao198@hotmail.com" );   (19)AddRecipientCC( Email ) ,抄送收件人:   如:JMail.AddRecipientCC( "" )   (20)AddURLAttachment( URL, 文档名)   下载并添加一个来自url的附件. 第二个参数"文档名", 用来指定信件收到后的文件名。   如:JMail.AddURLAttachment( "http://www.chinabs.net/jmail.zip", "jmail" )   (21)AppendBodyFromFile( 文件名) ,将文件作为信件正文:   如:JMail.AppendBodyFromFile( "c:anyfile.txt" )   (22)AppendText( Text )   追加信件的正文内容,比如增加问候语或者其它信息。   如:JMail.AppendText( "欢迎访问本站!" )   (23)Close() ,强制JMail关闭缓冲的与邮件服务器的连接:   如:JMail.Close()   (24)发送【调用格式:objJMail.Send(SMTPServerAddress[:Port])】   例:JMail.Send("smtp.163.com")   Jmail具有以下特点:   (1)可以发送附件;   (2)详细日志能力,便于你查看问题所在;   (3)设置邮件发送的优先级;   (4)支持多种格式的邮件发送,比如说以HTML或者TXT的方式发送邮件。这是个免费的组件。   (5)密件发送/(CC)抄送/紧急信件发送能力;   (6)最关键的就是--免费的组件,不必花钱,所以非常值得使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值