在项目中使用JMail发送邮件

11/25/2015来源:ASP.NET技巧人气:3175

1.添加jmail组件:在vs的解决方案资源管理器中,右键添加引用,选择浏览,选择jmail.dll文件,在Bin文件夹中就可以看到添加的JMail组件.

 

2.注册JMail组件:开始-->运行-->输入如:regsvr32 D:\DotNet相关插件和脚本\jmail.dll

 

Regsvr32 解释:
这个命令行工具将 dll 文件注册为注册表中的命令组成。
语法
regsvr32 【/u】 【/s】 【/n】 【/i【:cmdline】】 dllname
参数
/u 
未注册服务器。 
/s 
指定 regsvr32 安静运行,且不显示任何消息框。 
/n 
指定不调用 DllRegisterServer。此选项必须与 /i 共同使用。 
/i:cmdline 
调用 DllInstall 将它传递到可选的 【cmdline】。在与 /u 共同使用时,它调用 dll 卸载。 
dllname 
指定要注册的 dll 文件名。 
/? 
在命令提示符显示帮助。

 

完成1,2部操作后,我们来编写代码:

 

界面参考:

C#代码  收藏代码
    1. //点击发送邮件  
    2.   PRotected void btnTranSmit_Click(object sender, EventArgs e)  
    3.   {  
    4.       try  
    5.       {  
    6.           //调用发送邮件的方法  
    7.           SendEmail(txtSender.Text, txtSenderName.Text, txtTransmitName.Text, txtTransmitPassWord.Text, txtReceiver.Text, txtSubject.Text, txtContent.Text, txtServer.Text);  
    8.       }  
    9.       catch (Exception ex)  
    10.       {  
    11.           Response.Write(ex.Message);  
    12.       }  
    13.   }  
    14.   
    15.   
    16.   /// <summary>  
    17.   /// 使用Jmail发送邮件的方法  
    18.   /// </summary>  
    19.   /// <param name="sender">发件人邮箱</param>  
    20.   /// <param name="senderName">发件人姓名</param>  
    21.   /// <param name="TransmitName">发送邮件人的邮箱的登录名</param>  
    22.   /// <param name="TransmitPassWord">发送邮件人的邮箱密码</param>  
    23.   /// <param name="Receiver">收件人的地址</param>  
    24.   /// <param name="subject">邮件的主题</param>  
    25.   /// <param name="Content">邮件的内容</param>  
    26.   /// <param name="ServerHost">服务器的地址</param>  
    27.   private void SendEmail(String sender, String senderName, String TransmitName, String TransmitPassWord, String Receiver, String subject, String Content, String ServerHost)  
    28.   {  
    29.       //创建Jmail对象  
    30.       MessageClass jMessage = new MessageClass();  
    31.   
    32.       //设置编码  
    33.       jMessage.Charset = "GB2312";  
    34.   
    35.       //设置邮件头不使用ISO-8859-1的编码  
    36.       jMessage.ISOEncodeHeaders = false;  
    37.   
    38.       //设置发送的邮件的邮箱地址  
    39.       jMessage.From = sender;  
    40.   
    41.       //设置发件人姓名  
    42.       jMessage.FromName = senderName;  
    43.   
    44.       //设置主题  
    45.       jMessage.Subject = subject;  
    46.   
    47.       //设置发送邮件的邮箱或者邮件服务器登陆名  
    48.       jMessage.MailServerUserName = TransmitName;  
    49.   
    50.       //设置发送邮件的邮箱或者邮件服务器密码  
    51.       jMessage.MailServerPassWord = TransmitPassWord;  
    52.   
    53.       //添加接收邮件的邮箱地址  
    54.       jMessage.AddRecipient(Receiver, "", "");  
    55.   
    56.       //设置发送邮件正文  
    57.       jMessage.Body = Content;  
    58.   
    59.       //判断上传控件是否为空  
    60.       if (fluAttachMent.HasFile)  
    61.       {  
    62.           String fileName = fluAttachMent.PostedFile.FileName;  
    63.           //添加附件  
    64.           jMessage.AddAttachment(fileName, true, "");  
    65.       }  
    66.   
    67.       //发送邮件  
    68.       if (jMessage.Send(ServerHost, false))  
    69.       {  
    70.           Response.Write("<script>alert('发送成功!');</script>");  
    71.       }  
    72.       else  
    73.       {  
    74.           Response.Write("<script>alert('发送失败!');</script>");  
    75.       }  
    76.   
    77.   }