ASP.Net环境下使用Jmail组件发送邮件2008-01-25 18:59实现过程:
不同于在Asp中使用Jmail,直接使用 Server.CreateObject("Jmail.Message")就可以了。在.Net环境中,需要进行设置。
1.安装jmail4.3
2.找到jmail.dll(Program FilesDimacw3JMail4下)
3.执行Program FilesMicrosoft Visual Studio .NETFrameworkSDKBinildasm.exe(可使用Visual Studio .Net 2003 命令提示),
格式如下:tlbimp c:Program FilesDimacw3JMail4jmail.dll /out:myJmail.dll /namespace:myJmail
生成myJmail.dll后,copy到web的根目录的bin目录。在ASP.Net页面中,用这个方法引用:
1 using myJmail; 2 private void SendMailByJmail() 3 { 4 ///建立发邮件类 5 jmail.MessageClass oJmailMessage = new jmail.MessageClass(); 6 7 /// 字符集 8 oJmailMessage.Charset = "GB2312"; 9 10 ///附件的编码格式 11 oJmailMessage.Encoding = "BASE64"; 12 oJmailMessage.ContentType = "text/html"; 13 14 ///是否将信头编码成iso-8859-1字符集 15 oJmailMessage.ISOEncodeHeaders = false; 16 17 /// 优先级 18 oJmailMessage.Priority = Convert.ToByte(1); 19 20 ///发送人邮件地址 21 oJmailMessage.From = TxtEmail.Text.Trim(); 22 23 ///发送人姓名 24 oJmailMessage.FromName = TxtName.Text.Trim(); 25 26 /// 邮件主题 27 oJmailMessage.Subject = txtSubject.Text.Trim(); 28 29 ///身份验证的用户名 30 oJmailMessage.MailServerUserName = TxtSmtpUser.Text.Trim(); 31 32 ///用户密码 33 oJmailMessage.MailServerPassWord = TxtSmtpPwd.Text.Trim(); 34 35 ///添加一个收件人,抄送人和密送人的添加和该方法是一样的,只是分别使用AddRecipientCC和RecipientBCC两个属性 36 ///要是需要添加多个收件人,则重复下面的语句即可。添加多个抄送和密送人的方法一样 37 oJmailMessage.AddRecipient(txtReciver.Text.Trim(),"",""); 38 if("" != upFile.PostedFile.FileName) 39 { 40 string attpath = upFile.PostedFile.FileName; 41 oJmailMessage.AddAttachment(@attpath,true,attpath.Substring(attpath.LastIndexOf(".")+1,3));//添加附件 42 } 43 44 ///邮件内容 45 oJmailMessage.Body = txtContent.Text.Trim(); 46 47 if(oJmailMessage.Send(TxtSmtServer.Text.Trim(),false)) 48 { 49 Response.Write("发送成功!"); 50 } 51 else 52 { 53 Response.Write("发送失败,请检查邮件服务器的设置!"); 54 } 55 56 oJmailMessage = null; 57 }
安装mail组件,然后在安装目录下找到jmail.dll,在.net里面添加引用该dll,然后在要用到该jmail来的就用using jmail;引入。
之后
jmail.Message jm = new jmail.MessageClass();
jm.Charset = "GB2312";
jm.From = "";//发送方地址->设置
jm.MailServerUserName = "";//发送方用户名->设置
jm.MailServerPassWord = "";//发送方密码->设置
jm.Body = "";//邮件内容
jm.Subject ="";//主题
jm.AddRecipient("","","");//收件人地址,姓名等
jm.Send("smtp.163.com",false)) //""里面填入邮件服务器地址
还可以用jm.AddAttachment();来添加附件
等就可以设置参数使用来发送邮件了。