关于Jmail的使用介绍网上已经不少,我把自己的体验纪录一下,既帮助跟我一样的初学者也是个积累。
Jmail的使用主要有以下几点:
一. 安装:要在机器上安装Jmail组件,其实就是一个“Jmail.dll”,一般会被安装到C:\windows\system32\目录中。如果下载到的仅仅是Jmail.dll这个文件,就可以手动放到这个目录,不过别的目录应该也可以,我没试过。
二. 注册:自动安装一般同时会自动注册,无需关心这个。但是下载的仅仅是Jmail.dll这个文件,那么必须自己手动注册。注册的方法如下:在命令行窗口里运行命令“regsvr c:\windows\system32\jmail.dll”,当然文件路径自己指定。
三. 引用:把jmail.dll复制到Web站点的bin目录里,然后给站点添加COM引用。
四. 写代码:类似如下,记得引用命名空间。
实例代码
1using System;
2using System.Data;
3using System.Configuration;
4using System.Web;
5using System.Web.Security;
6using System.Web.UI;
7using System.Web.UI.WebControls;
8using System.Web.UI.WebControls.WebParts;
9using System.Web.UI.HtmlControls;
10
11using jmail;
12
13public partial class _Default : System.Web.UI.Page
14{
15 protected void Page_Load(object sender, EventArgs e)
16 {
17
18 }
19 protected void Button1_Click(object sender, EventArgs e)
20 {
21 jmail.MessageClass mail = new jmail.MessageClass();
22
23 DateTime t = DateTime.Now;
24 string subject = "Jmail test! " + t.ToString();
25 string body = "Hello world!<br/>";
26
27
28 string fromemail = "mymail@126.com";
29 string toemail = "mail@china.com";
30 //silent属性:如果设置为true,jmail不会抛出例外错误. jmail. send( () 会根据操作结果返回true或false
31 mail.Silent = true;
32 //jmail创建的日志,前提loging属性设置为true
33 mail.Logging = true;
34 //字符集,缺省为"us-ascii"gb2312
35 mail.Charset = "UTF-8";
36 mail.Encoding = "BASE64";
37 //信件的contentype. 缺省是"text/plain") : 字符串如果你以html格式发送邮件, 改为"text/html"即可。
38 mail.ContentType = "text/html";
39 //添加收件人
40 mail.AddRecipient(toemail, "", "");
41 mail.From = fromemail;
42 //发件人邮件用户名
43 mail.MailServerUserName = "mymail@126.com";
45 //发件人邮件密码
46 mail.MailServerPassWord = "123";
47 //设置邮件标题
48 mail.Subject = subject;
49 //邮件添加附件,(多附件的话,可以再加一条jmail.addattachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的jmail.contenttype="text/html";删掉。否则会在邮件里出现乱码。
50 //mail.AddAttachment("c:\\test.jpg", true, null);
51 //邮件内容
52 mail.Body = body + t.ToString();
53 //jmail发送的方法
54 if (mail.Send("smtp.126.com", false))
55 {
56 Response.Write("<script language='javascript'>alert('OK!')</script>");
57 }
58 else
59 {
60 Response.Write("<script language='javascript'>alert('False!')</script>");
61 Response.Write(mail.ErrorCode.ToString() + "<br/>" + mail.ErrorMessage.ToString() + "<br/>" + mail.ErrorSource.ToString() + "<br/>");
62 }
63 mail.Close();
64 }
65}
66